Part Number Hot Search : 
8HC11 SP45XI 18EQHM53 NTE2641 4C256 2SK1314S 00EEE A1909
Product Description
Full Text Search
 

To Download PS501 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 PS501
Single Chip Field Reprogrammable Battery Manager
Features
* Single chip solution for rechargeable battery management * Footprint compatible with PS401 * SMBus 1.1 and SBData 1.1 compatible * Precise capacity reporting for Lithium Ion and Lithium Polymer battery chemistries * Embedded PowerSmart(R) patented algorithms contained in customizable on-chip 16-Kbyte Flash memory * User configurable and "learned" parameters stored in on-chip 256 x 8 EEPROM * Algorithms and parameters fully field reprogrammable via SMBus interface * Integrating sigma-delta A/D converter with 9 to 16-bit programmable resolution which accurately measures: - Current through sense resistor - High-voltage (18V) battery cells directly connected to VCELL inputs - Temperature measurement from on-chip sensor or optional external thermistor * Integrated precision silicon time base * Twelve individually programmable input/output pins that can be assigned as charge control I/O, secondary safety function I/O, SOC LED output or general purpose I/O - Two of the twelve I/Os are high voltage, capable for direct drive of Charge and Safety FETs * On-chip regulator generates precision digital and analog supply voltages directly from pack voltage * Supports direct connection to 2 to 4-cell Lithium packs * Flexible power operating modes: - Run: Continuous operation - Sample: Periodic measurements at programmable intervals - Sleep: Shutdown mode due to low voltage. Power consumption less than 25 A. - Shelf-Sleep: Shuts off PS501 power consumption for pack storage with automatic wake-up on pack insertion. Power consumption is less than 1 A. * Integrated Reset Control - Power-on Reset - Watchdog Timer Reset - Brown-out Detection Reset
Pin Description
VDDD GPIO(4) GPIO(5) GPIO(6) GPIO(7) SMB-CLK SMB-DTA VC(4) VC(3) VC(2) VC(1) VDDA VSSA RSHP
1 2 3 4 5 28 27 26 25 24
VSSD GPIO(3) GPIO(2) GPIO(1) GPIO(0) GPIOHV2 MCLR GPIOHV1 GPIO(9) GPIO(8) ROSC VREFT VNTC RSHN
PS501
6 7 8 9 10 11 12 13 14
23 22 21 20 19 18 17 16 15
28-pin SSOP Package - 209 mil
Pin Summary
Pin Name VDDD, VSSD GPIO(0..9) GPIOHV1,2 Type Description Supply Digital supply voltage input, ground I/O I/O Programmable digital I/O Open-drain programmable digital I/O for direct drive of FETs Master Clear. Pull-up in normal operation SMBus interface Cell voltage inputs
MCLR SMB-CLK, SMB-DTA VC(1..4) VDDA, VSSA
I I/O I
Supply Voltage regulator output (internally connected to analog supply input), ground I I O I Current sense resistor input External thermistor input Thermistor reference voltage Internal oscillator bias resistor
RSHP, RSHN VNTC VREFT ROSC
2004 Microchip Technology Inc.
DS21818C-page 1
PS501
1.0 PRODUCT OVERVIEW
The PS501 combines a high-performance, low-power Microchip PIC18 microcontroller core together with PowerSmart proprietary monitoring/control algorithms and 3D cell models stored in 16 Kbytes of on-chip reprogrammable Flash memory. Analog resources include a 16-bit sigma-delta integrating A/D and mixed signal circuitry for precision measurement of battery current, temperature and voltage and for direct connection to 4-cell series Lithium Ion packs. On-chip EEPROM is provided for storage of user customizable and "learned" battery parameters. An industry standard 2-wire SMBus interface supports host communication using standard SBData commands and status. Additional integrated features include a high accuracy on-chip oscillator and temperature sensor. Twelve general purpose pins support charge or safety control or user programmable digital I/O. Eight of them can be used as LED drivers and two are open drain for direct FET drive. The PS501 can be configured to accommodate all Lithium rechargeable battery chemistries, including Li Ion graphite, Li Ion hard carbon and Li Ion polymer, with direct connection to 2 to 4 series cell configurations.
FIGURE 1-1:
PS501 INTERNAL BLOCK DIAGRAM
VDDD VDDA
Digital Section
256-byte 256-byte EEPROM EEPROM 16-Kbyte 16-Kbyte FLASH FLASH Voltage Voltage Reference Reference and and Temperature Tem perature Sensor Sensor Decoder VREFT
Regulator Regulator
SMB-CLK SMB-DTA
SMBus SMBus Interface Interface
PIC18 PIC18 M icrocontroller M icrocontroller Core Core
16-Bit 16-Bit Sigm a-Delta Sigm a-Delta Integrating Integrating A/D Converter A/D Converter
3
VC(1) VC(2-4) RSHP RSHN
Analog Analog Input Mux Input Mux
12
GPIO (11-0)
Programmable Programmable Digital Digital Input/Output Input/Output
Silicon Oscillator Silicon Oscillator
VNTC
Analog Section
VSSD
ROSC
VSSA
DS21818C-page 2
2004 Microchip Technology Inc.
PS501
1.1 Architectural Description 1.5
The PS501 is a a fully field reprogrammable single chip solution for rechargeable battery management. Figure 1-1 is an internal block diagram highlighting the major architectural elements described below.
SMBus Interface/SBData Commands
1.2
Microcontroller/Memory
The PS501 incorporates an advanced, low-power Microchip PIC18 8-bit RISC microcontroller core. Memory resources include 16 Kbytes of reprogrammable Flash memory for program/data storage and 256 bytes of EEPROM for parameter storage. Both memory arrays may be reprogrammed through the SMBus interface.
Communication with the host is fully compliant with the industry standard Smart Battery System (SBS) specification. Included is an advanced SMBus communications engine that is compliant with the SMBus v1.1 protocols. The integrated firmware processes all the revised Smart Battery Data (SBData) v1.1 values.
1.6
Accurate Integrated Time Base
The PS501 integrates a highly accurate silicon oscillator that provides accurate timing for self-discharge and capacity calculations and eliminates the need for an external crystal.
1.3
A/D Converter
1.7
Temperature Sensing
The PS501 performs precise measurements of current, voltage and temperature, using a highly accurate 16-bit integrating sigma-delta A/D converter. The A/D can be calibrated to eliminate gain and offset errors and incorporates an auto-zero offset correction feature that can be performed while in the end system application.
An integrated temperature sensor is provided to minimize component count when the PS501 IC is located in close physical proximity to the battery cells being monitored. As an option, a connection is provided for an external thermistor that can also be monitored.
1.4
PowerSmart(R) Firmware/Battery Models
1.8
General Purpose I/O
Contained within the 16-Kbyte Flash memory is the PowerSmart developed battery management firmware that incorporates proprietary algorithms and sophisticated 3-dimensional cell models. Developed by battery chemists, the patented, self-learning 3D cell models contain over 250 parameters and compensate for selfdischarge, temperature and other factors. In addition, multiple capacity correction and error reducing functions are performed during charge/discharge cycles to enhance accuracy and improve fuel gauge and charge control performance. As a result, accurate battery capacity reporting and run-time predictions with less than 1% error are achievable. The reprogrammability of the Flash allows firmware upgrades and customized versions to be rapidly created without the need for silicon revisions. The PS501 can be easily customized for a particular application's battery cell chemistry. Standard configuration files are provided by PowerSmart for a wide variety of popular rechargeable cells and battery pack configurations.
Twelve programmable digital input/output pins are provided by the PS501. Eight of these pins can be used as LED outputs to display State-Of-Charge (SOC), used for direct control of external charge circuitry or to provide additional levels of safety in Li Ion packs. Alternatively, they can be used as general purpose input/outputs. Two of the I/Os are open-drain outputs and can thus be used to directly drive FETs or other high-voltage applications.
2004 Microchip Technology Inc.
DS21818C-page 3
PS501
TABLE 1-1:
Pin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VDDD GPIO(4) GPIO(5) GPIO(6) GPIO(7) SMB-CLK SMB-DTA VC(4) VC(3) VC(2) VC(1) VDDA VSSA RSHP RSHN VNTC
PIN DESCRIPTIONS
Name Description (Input) Filter capacitor input for digital supply voltage. (Bidirectional) Programmable general purpose digital input/output pin (4) or LED driver. (Bidirectional) Programmable general purpose digital input/output pin (5) or LED driver. (Bidirectional) Programmable general purpose digital input/output pin (6) or LED driver. (Bidirectional) Programmable general purpose digital input/output pin (7) or LED driver. SMBus clock pin connection. SMBus data pin connection. (Input) Cell voltage input for the fourth highest voltage cell in a series string. (Input) Cell voltage input for the third highest voltage cell in a series string. (Input) Cell voltage input for the second highest voltage cell in a series string. (Input) Cell voltage input for the first or highest voltage cell in a series string. (Input) Analog supply voltage input. Analog ground reference point. (Input) Current measurement A/D input from positive side of the current sense resistor. (Input) Current measurement A/D input from negative side of the current sense resistor. (Input) A/D input for use with an external temperature circuit. This is the midpoint connection of a voltage divider, where the upper leg is a thermistor (103ETB type) and the lower leg is a 3.65 KOhm resistor. This input should not go above 150 mV. (Output) Reference voltage output for use with temperature measuring A/D circuit. This 150 mV output is the top leg of the voltage divider and connects to an external thermistor. External bias resistor. (Bidirectional) Programmable general purpose digital input/output pin (8). (Bidirectional) Programmable general purpose digital input/output pin (9). (Bidirectional) Programmable general purpose digital input/output pin (10). Open-drain, high-voltage tolerant. (Input) Master Clear. Must be pulled up for normal operation. (Bidirectional) Programmable general purpose digital input/output pin (12). Open-drain, high-voltage tolerant. (Bidirectional) Programmable general purpose digital input/output pin (0) or LED driver. (Bidirectional) Programmable general purpose digital input/output pin (1) or LED driver. (Bidirectional) Programmable general purpose digital input/output pin (2) or LED driver. (Bidirectional) Programmable general purpose digital input/output pin (3) or LED driver. Digital ground reference point.
17 18 19 20 21 22 23 24 25 26 27 28
VREFT ROSC GPIO(8) GPIO(9) GPIOHV1 MCLR GPIOHV2 GPIO(0) GPIO(1) GPIO(2) GPIO(3) VSSD
DS21818C-page 4
2004 Microchip Technology Inc.
PS501
2.0 A/D OPERATION
EQUATION 2-1:
9.15 mV/RSENSE (milli-Ohms) = Current LSB (Minimum current measurement if > NullCurr) Current LSB x 16384 = Maximum current measurement possible In-circuit calibration of the current is done using the SMBus interface at time of manufacture to obtain absolute accuracy. The current measurement equation is: The PS501 A/D converter measures current, voltage and temperature and integrates the current over time to predict State-Of-Charge. Pack voltage and individual cell voltages are monitored and can be individually calibrated for the best accuracy. Using an external sense resistor, current is monitored during both charge and discharge and is integrated over time using the on-chip oscillator as the time base. Temperature is measured from the on-chip temperature sensor or an optional external thermistor. Current and temperature are also calibrated for accuracy.
EQUATION 2-2:
I(ma) = (I_A/D - COCurr) * CFCurr/16384 where: I_A/D is the internal measurement COCurr is the "Correction Offset for Current" which compensates for any offset error in current measurement stored in EEPROM. CFCurr is the "Correction Factor for Current" which compensates for any variances in the actual sense resistance over varying currents stored in EEPROM. Figure 2-1 shows the relationship of the COCurr and CFCurr values.
2.1
A/D Converter List
The A/D converter alternately measures pack voltage, cell voltages, current, temperature and auto-offset as explained below. The schedule for the sequence and frequency of these measurements is programmable, as is the number of bits used. The default scheduling uses three lists. At near full (above the voltage point ADLNearFull) and near empty (below the voltage point ADLNearEmpty), voltage intensive lists are used to accurately end charge or discharge. In between ADLNearFull and ADLNearEmpty, a current intensive schedule is used to more accurately calculate capacity.
2.2
Current Measurement
FIGURE 2-1:
The A/D input channels for current measurement are the RSHP and RSHN pins. The current is measured using an integrating method, which averages over time to get the current measurement and integrates over time to get a precise measurement value. A 5 to 600 milli-Ohm sense resistor is connected to RSHP and RSHN as shown in the example schematic. The maximum input voltage at either RSHP or RSHN is +/-150 mV. The sense resistor should be properly sized to accommodate the lowest and highest expected charge and discharge currents, including suspend and/or standby currents. Circuit traces from the sense resistor should be as short as practical without significant crossovers or feedthroughs. Failure to use a single ground reference point at the negative side of the sense resistor can significantly degrade current measurement accuracy. The EEPROM value, NullCurr, represents the zero zone current of the battery. This is provided as a calibration guardband for reading zero current. Currents below the +/- NullCurr (in mA) limit are read as zero and are not included in the capacity algorithm calculations. A typical value for NullCurr is 3 mA, so currents between -3 mA and +3 mA will be reported as zero and not included in the capacity calculations. The equation for current measurement resolution and sense resistor selection is shown in the following equation.
COCurr AND CFCurr VALUE RELATIONSHIP
Raw Measurement Ideal A/D Response Actual A/D Response
COCurr
CFCurr
Actual Current
2.3
Auto-Offset Compensation
Accuracy drift is prevented using an automatic autozero self-calibration method, which `re-zeroes' the current measurement circuit every AOMInt * 0.5 seconds when enabled. This feature can correct for drift in temperature during operation. The auto-offset compensation circuit works internally by disconnecting the RSHP and RSHN inputs and internally shorting these inputs to measure the zero input offset. The EEPROM and calibration value COD is the true zero offset value of the particular module.
2004 Microchip Technology Inc.
DS21818C-page 5
PS501
2.4 Voltage Measurements
The A/D input channels for cell and pack voltage measurements are the VC(1) to VC(4) pins. Measurements are taken each measurement period when the A/D is active. The maximum voltage at any VCELLx input pin is 19V absolute, but voltages above 18V are not suggested. The individual cell voltages are measured with an integration method to reduce any sudden spikes or fluctuations. The A/D uses an 11-bit resolution mode for these measurements. Cell voltage inputs are read every measurement period, which is approximately every 500 milliseconds. This could be further extended by the use of Sample mode, where A/D measurements are not activated every measurement period, depending on the configuration of SampleLimit and NSample values. (See Section 3.0 "Operational Modes" for additional information.) For Li Ion, Li-based, or even Lead-Acid applications, up to four (4) series cell voltages may be monitored individually. The highest voltage cell of the stack must be connected to VC(1). For some applications, the actual cell stack arrangement can be altered accordingly. The PS501 voltage input pins (VCELLx pins) are capable of measuring up to 18V each. Therefore, cell arrangements can be combined and the corresponding cell voltage thresholds can be adjusted. For example, a 2-cell Li Ion pack could actually be connected as a single 7.2V cell instead of two 3.6V cells. The values for the cell voltages would all be doubled, for example VCELL1 would equal the sum of two cells and only the VC(1) input pin would be used. Each VCELLx input circuit contains an internal resistive divider to reduce the external voltage input to a range that the internal A/D circuit can accommodate (150 mV maximum). These dividers are set based on a maximum cell voltage of 4.5 volts. A range of 340 mV with dividers, based on a maximum voltage of 20 volts, is used for pack voltage. The impedance at each VCELLx input is roughly 100 kOhms, but is only connected to ground (via the VSSA pins) when the actual voltage measurement is occurring. This corresponds to an insignificant amount of capacity drained through this circuit during the brief voltage measurement period, typically 45 ms every 500 ms. The EEPROM value PackResistance is used to compensate for additional resistance that should be removed. The equation for the compensation value (in ohms) is:
EQUATION 2-3:
PackResistance = Trace Resistance * 65535 (This is a 2-byte value so the largest value is 1 ohm.) This requires modification of overall voltage SBData function to compensate for pack resistance and shunt resistance of the current sense resistor. Thus, the previous voltage equation is modified to:
EQUATION 2-4:
SBData Voltage Value = VC(1) + Measured Current (mA) * PackResistance/65535 The voltage measurement equation is:
EQUATION 2-5:
V (mV) = (V_A/D - COVPack) x CFVPack/16384 where: V_A/D is the internal measurement output COVPack is the "Correction Offset for Pack Voltage" which compensates for any offset error in voltage measurement (since the offset of the A/D is less than the voltage measurement resolution of +/- 16.5 mV, the COVPack value is typically zero). CFVPack is the "Correction Factor for Pack Voltage" which compensates for any variance in the actual A/D response versus an ideal A/D response over varying voltage inputs. The COVPack and CFVPack are calibration constants that are stored in EEPROM. VCELL1 and VCELL4 can also be compensated for impedance in the lines connecting to the PS501. VC1Res is the resistance between the PS501 and the highest series cell. VC4Res is the resistance between the PS501 and the lowest cell. This allows the PS501 to subtract any voltage drop due to current between the cell and the PS501.
2.4.1
IMPEDANCE COMPENSATION
Since accurate measurement of pack voltage and cell voltages are critical to performance, the voltage measurements can be compensated for any impedance in the power path that might affect the voltage measurements.
DS21818C-page 6
2004 Microchip Technology Inc.
PS501
Figure 2-2 shows the relationship of the COVPack and CFVPack values.
2.5
Temperature Measurements
FIGURE 2-2:
COVPack AND CFVPack VALUE RELATIONSHIP
Raw Measurement Ideal A/D Response Actual A/D Response
The A/D receives input from the internal temperature sensor to measure the temperature. Optionally, an external thermistor can be connected to the VNTC pin which is also monitored by the A/D converter. An output reference voltage for use with an external thermistor is provided on the VREFT pin. The A/D uses an 11-bit resolution mode for the temperature measurements. A standard 10 kOhms at 25C Negative-TemperatureCoefficient (NTC) device of the 103ETB type is suggested for the optional external thermistor. One leg of the NTC should be connected to the VREFT pin and the other to both the VNTC pin and a 3.65 kOhms resistor to analog ground (VSSA). The resistor forms the lower leg of a voltage divider circuit. To maintain high accuracy in temperature measurements, a 1% resistor should be used. A look-up table is used to convert the voltage measurement seen at the VNTC pin to a temperature value. The external thermistor should be placed as close as possible to the battery cells and should be isolated from any other sources of heat that may affect its operation. Calibration of the temperature measurements involves a correction factor and an offset exactly like the current and voltage measurements. The internal temperature measurement makes use of correction factor CFTempI and offset COTempI, while the VNTC and VREFT pins for the optional external thermistor make use of correction factor CFTempE and offset COTempE.
COVPack
CFVPack
Actual Voltage
In-circuit calibration of the voltage is done at the time of manufacture to obtain absolute accuracy in addition to high resolution. Individual cell voltage measurements can be accurate to within 20 mV. The individual cell voltage inputs are also calibrated the same way the pack voltage is. There is one offset value, COVCell, for all individual cells and up to four different correction factors, CFVCell1 through CFVCell4, one for each cell input.
2004 Microchip Technology Inc.
DS21818C-page 7
PS501
3.0 OPERATIONAL MODES
EXAMPLE 3-1: CONFIGURATION
The PS501 operates on a continuous cycle. The frequency of the cycles depends on the power mode selected. There are four power modes: Run, Sample, Sleep and Shelf-Sleep. Each mode has specific entry and exit conditions as listed below. Measurement period is 500 ms SampleLimit is set to 20 NSample is set to 16 Result: Run/Sample mode entry-exit threshold = 20 mA During Sample mode, measurements will occur every: 16 measurement periods of 500 mS = every 8 seconds
3.1
Run Mode
Whether the PS501 is in Run mode or Sample mode depends on the magnitude of the current. The Run and Sample mode entry-exit threshold is calculated using the EEPROM parameter, SampleLimit. SampleLimit is a programmable EEPROM value and CFCurr is an EEPROM value set by calibration. Entry to Run mode occurs when the current is more than +/- SampleLimit mA for two consecutive measurements. Run mode may only be exited to Sample mode, not to Sleep mode, when Sample mode is enabled. Exit from Run mode to Sample mode occurs when the converted measured current is less than the +/- SampleLimit mA threshold for two consecutive measurements. Run mode is the highest power consuming mode. During Run mode, all measurements and calculations occur once per measurement period. Current, voltage and temperature measurements are each typically made sequentially during every measurement period.
3.3
Low-Voltage Sleep Mode
Entry to Sleep mode can only occur when the measured pack voltage at the VC(1) input is below a preset limit, set by the EEPROM value SleepVPack (in mV). Sleep mode may be exited to Run mode, but only when one of the wake-up conditions is satisfied. While in Sleep mode, no measurements occur and no calculations are made. The fuel gauge display is not operational, no SMBus communications are recognized and only a wake-up condition will permit an exit from Sleep mode. Sleep mode is one of the lowest power consuming modes and is used to conserve battery energy following a complete discharge. There are two levels of Low-Voltage Sleep mode that can be used, each with a different wake-up criteria. Default Low-Power mode will use 25 A typical and will wake-up when the voltage exceeds the WakeUp voltage level. By setting bit 1 of the WakeUp register to `1', the Ultra Low-Power mode can be used. This will be entered by low voltage, but wake-up occurs by pulling the SMBus lines high. Ultra Low-Power mode uses less than 1 A.
3.2
Sample Mode
Entry to Sample mode occurs when the measured current is less than +/- SampleLimit (EE parameter) two consecutive measurements. Sample mode may be exited to either Run mode or Sleep mode. While in Sample mode, measurements of voltage, current and temperature occur only once per NSample counts of measurement periods, where NSample is a programmable EEPROM value. Calculations of StateOf-Charge, SMBus requests, etc. still continue at the normal Run mode rate, but measurements only occur once every measurement period x NSample. The minimum value for NSample is two. The purpose of Sample mode is to reduce power consumption during periods of inactivity (low rate charge or discharge). Since the analog-to-digital converter is not active, except every NSample counts of measurement periods, the overall power consumption is significantly reduced.
3.4
Shelf-Sleep Mode
Shelf-Sleep mode is used to put the PS501 into LowPower mode, regardless of voltage level, for long term storage of battery packs. It is entered by an SMBus command. It is exited by the conditions selected in the WakeUp register. These can be voltage, GPIO or SMBus activity. If any of these four are selected for wake-up, the Shelf-Sleep mode will be Low-Power mode and will draw 25 A typical. If none of these options are selected and bit 3 of the WakeUp register is set, the Shelf-Sleep mode will be Ultra Low-Power mode, which will draw less than 1 A and wake-up will be by pulling SMBus high.
DS21818C-page 8
2004 Microchip Technology Inc.
PS501
TABLE 3-1:
Bit 7 6 5 4 3 1 0
WakeUp EEPROM VALUE
Name WakeIO WakeBus Unused WakeVolt Enable Shelf-Sleep LV Sleep Mode Zero Remcap Wake-up from Voltage Use Ultra Low-Power mode for Shelf-Sleep mode. All other bits must be zero. Use Ultra Low-Power mode as Low-Voltage Sleep mode Set remap to zero when entering Low-Voltage Sleep mode Wake-up from I/O Activity Wake-up from SMBus Activity Function
TABLE 3-2:
000 001 010 011 100 101 110 111
WakeLevels EEPROM VALUE
Voltage 6.4V 6.66V 8.88V 9.6V 9.99V 11.1V 12.8V 13.3V 2 cells Li Ion 2 cells Li Ion 2 cells Li Ion 3 cells Li Ion 3 cells Li Ion 3 cells Li Ion 4 cells Li Ion 4 cells Li Ion Purpose
WakeUp Voltage (2:0)
TABLE 3-3:
Mode Run
POWER MODE SUMMARY
Entry Measured current > preset threshold (set by SampleLimit) Measured current < preset threshold (set by SampleLimit) Exit Notes Measured current < preset Highest power consumption threshold (set by SampleLimit) and accuracy for rapidly changing current. Measured current > preset Saves power for low, steady threshold (set by SampleLimit) current consumption. Not as many measurements needed. Measurements made every NSample periods. WakeUp voltage level exceeded (Low-Power mode) or SMBus pulled high (Ultra Low-Power mode) WakeUp register conditions met (Low-Power mode) or SMBus pins pulled high (Ultra Low-Power mode) No measurements made.
Sample
Sleep
VPACK < SleepVPack and in Sample mode
Shelf-Sleep SMBus command
No measurements made.
2004 Microchip Technology Inc.
DS21818C-page 9
PS501
4.0 CAPACITY MONITORING
The PS501 internal CPU uses the voltage, current and temperature data from the A/D converter, along with parameters and cell models, to determine the state of the battery and to process the SBData function instruction set. By integrating measured current, monitoring voltages and temperature, adjusting for self-discharge and checking for End-Of-Charge and End-Of-Discharge conditions, the PS501 creates an accurate fuel gauge under all battery conditions. The total capacity added or subtracted from the battery (change in charge) per measurement period is expressed by the following formula:
EQUATION 4-1:
Charge = it (the current integrated over time) CurrError (Current Measurement Error) PwrConsumption * t (PS501 IDD) % of Self-Discharge * FCC SelfDischrgErr (Self-Discharge Error)
4.1
Capacity Calculations
The PS501 calculates State-Of-Charge and fuel gauging functions using a `coulomb counting' method, with additional inputs from battery voltage and temperature measurements. By continuously and accurately measuring all the current into and out of the battery cells, along with accurate three-dimensional cell models, the PS501 is able to provide accurate predictions of SOC and run-time. The capacity calculations consider two separate states: charge acceptance or Capacity Increasing (CI) and discharge or Capacity Decreasing (CD). The CI state only occurs when a charge current larger than the EEPROM NullCurr value is measured. Otherwise, while at rest and/or while being discharged, the state is CD. Conditions must persist for at least NChangeState measurement periods for a valid state change between CD and CI. A minimum value of 2 is suggested for NChangeState. Regardless of the CI or CD state, self-discharge is also calculated and subtracted from the integrated capacity values. Even when charging, there is still a self-discharge occurring in the battery. To compensate for known system errors in the capacity calculations, a separate error term is also continuously calculated. This term is the basis for the SBData value of MaxError. Two error values are located in EEPROM. The CurrError value is the inherent error in current measurements and should be set based on the selection of a sense resistor and calibration results. The SelfDischrgErr value is the error in the parameter tables for self-discharge and depends on the accuracy of the cell chemistry model for self-discharge. Since the PS501 electronics also drain current from the battery system, another EEPROM value allows even this minor drain to be included in the capacity calculations. The PwrConsumption value represents the drain of the IC and associated circuitry, including additional safety monitoring electronics if present. A typical value of 77 represents the module's nominal power consumption, including the PS501 typical consumption.
The error terms are always subtracted, even though they are +/- errors, so that the fuel gauge value will never be overestimated. Current draw of the PS501 and the self-discharge terms are also always subtracted. The SBData value, MaxError, is the total accumulated error as the gas gauge is running. The battery current will be precisely measured and integrated in order to calculate total charge removed from or added to the battery. Based on look-up table values, the capacity is adjusted for self-discharge relative to current, temperature and SOC.
4.2
Discharge Termination
Discharge termination is determined based on the End-Of-Discharge (EOD) voltage point. The voltage level at which this point occurs can be chosen to be constant, or to change depending on the temperature and discharge rate, since these factors affect the voltage curve and total capacity of the battery. The EOD voltage parameter table predicts the voltage point at which this EOD will be reached, based on discharge rate and temperature. The PS501 will monitor temperature and discharge rate continuously and update the Veodx in real-time. When the voltage measured on the cell is below EOD voltage for the duration of EODRecheck x periods (500 ms), a valid EOD has occurred. When a valid EOD has been reached, the TERMINATE_DISCHARGE_ALARM bit (bit 11) in BatteryStatus will be set. This will cause an AlarmWarning condition with this bit set. Additionally, the REMAINING_TIME_ALARM and/or REMAINING_CAPACITY_ALARM bits can be set first to give a user defined early warning prior to the TERMINATE_DISCHARGE_ALARM. The remaining time alarm will trigger in battery status when the remaining time calculation falls below a threshold set by the SMBus command. The remaining capacity alarm will be set in battery status when the capacity falls below a threshold set by the SMBus command. Use an SMBus Write command to Remaining TimeAlarm (command code 0x02) or RemainingCapacityAlarm (command code 0x01) to set these values.
DS21818C-page 10
2004 Microchip Technology Inc.
PS501
4.3 Capacity Relearn at Discharge Termination
Table 4-1 shows that the system will always shutdown at the same capacity point regardless of C-rate conditions (since the C-rate of the save to disk procedure is a constant). Thus, we can automatically have an RSOC that is compensated for C-rate; it will go to zero when the capacity used is equal to the point at which shutdown occurs. Ignoring the effects of temperature, we could mark the capacity used up to the shutdown point of the shutdown curve. All the shutdown voltage would then represent the same capacity and RSOC would always become zero at this capacity and FCC would always equal this capacity, plus the residual capacity of the save to disk curve. To compensate for temperature, we can look at the series of curves that represent the shutdown C-rate at different temperatures. The PS501 implementation is to measure the temperature and choose a scaled RSOC value that will go to zero at the save to disk point at this temperature, assuming the temperature does not change. If it does change, then an adjustment to RSOC will be needed to make it go to zero at the shutdown point. Taking temperature into consideration, the amount of capacity that can be used before shutdown is a constant as C-rate changes, but not constant as temperature changes. Thus, in the Look-up Table (LUT), the individual temperature columns will have voltage points that all represent the same capacity used, but the rows across temperature points (C-rate rows) will represent the different capacity used. To compensate RSOC and RM, interpolation will be used and the compensation adjustment will happen in real-time to avoid sudden drops or jumps. Every time the temperature decreases by one degree, a new interpolated value will be subtracted from RSOC and RM. Every time the temperature increases by one degree, RSOC and RM will be held constant until discharged capacity equals the interpolated value that should have been added to RSOC and RM (to avoid capacity increases during discharge). With this interpolation happening in real-time, there will be no big jumps or extended flat periods as we cross over boundaries in the LUT. This compensation will not begin until after the fully charged status is reset, allowing RSOC to be 100% always when the battery is full.
To maintain accurate capacity prediction ability, the FullCapacity value is relearned on each discharge, which has reached a valid EOD after a previous valid fully charged condition (EOC). If a partial charge occurs before reaching a valid EOD, then no relearn will occur. If the discharge rate at EOD is greater than the `C-rate' adjusted value in RelearnCurrLim, then no relearn will occur. When a valid EOD has been reached, then the error calculations represented by the SBData value of MaxError will be cleared to zero. If appropriate, the relearned value of FullCapacity (and FullChargeCapacity) will also be updated at this time.
4.4
4.4.1
Discharge Termination Voltage Look-up Table
NEAR EMPTY SHUTDOWN POINT
As the graph in Table 4-1 shows, available capacity in the battery varies with temperature and discharge rate. Since the remaining capacity will vary with temperature and discharge rate, a near empty shutdown point will also vary with temperature and discharge rate. Knowing the discharge rate that occurs in the system during the shutdown process and knowing the temperature can pinpoint the exact save to disk point that will always leave the perfect shutdown capacity. The PS501 uses this information to tailor the gas gauge to the system and the remaining capacity and RSOC fuel gauge function will always go to zero at the efficient shutdown point. The table will use the voltage points at which this happens as the error correction and FullCapacity relearn point. This will ensure a relearn point before shutdown occurs and will correct any error in remaining capacity, also to ensure proper shutdown reserve energy. The shutdown point has to equal the capacity required to shut down the system under the conditions of the shutdown. That is, looking at the curve that represents the actual discharge C-rate that occurs during the system shutdown function, we must stop discharge and initiate shutdown when the system has used capacity equal to that point on the shutdown C-rate curve. This is because no matter what the C-rate is when the shutdown point is reached, the system will automatically switch to the C-rate curve that represents the actual current draw of the shutdown function. So it doesn't matter if the system is in high discharge or low discharge, it will be in "shutdown" discharge conditions when shutdown begins and there must be enough capacity left. An example is a computer's save to disk function.
4.5
Age Compensation
The voltage EOD points will be compensated due to the age of the cells. A linear factor, AgeFactor, will be applied to the voltage points as a function of CycleCount. The voltage levels will decrease as the battery pack ages to model the flattening of the voltage vs. capacity curve that naturally happens to battery cells.
2004 Microchip Technology Inc.
DS21818C-page 11
PS501
TABLE 4-1:
< 0.2C < 0.5C < 0.8C < 1.1C < 1.4C < 1.7C < 2.0C > 2.0C Capacity 20% 10% 5% 3% -- 0% V62 0% V63 0% V64 0%
V_EOD LOOK-UP TABLE
< -10 V1 < 0 V2 < 10 V3 < 20 -- < 30 < 40 < 50 > 50
The above table is an example of the various voltage values that will signal the shutdown points as a function of temperature and discharge rate.
Also shown is the amount of capacity left after shutdown that will compensate RSOC. Table 4-2 shows the actual names of the values in the EEPROM.
TABLE 4-2:
CEOD(1) CEOD(2) CEOD(3) CEOD(4) CEOD(5) CEOD(6) CEOD(7) CEOD(8)
VALUE NAMES IN THE EEPROM
TEOD(1) VEOD1(1) VEOD2(1) VEOD3(1) VEOD4(1) VEOD5(1) VEOD6(1) VEOD7(1) VEOD8(1) FCCP(1) TEOD(2) VEOD1(2) VEOD2(2) VEOD3(2) VEOD4(2) VEOD5(2) VEOD6(2) VEOD7(2) VEOD8(2) FCCP(2) TEOD(3) VEOD1(3) VEOD2(3) VEOD3(3) VEOD4(3) VEOD5(3) VEOD6(3) VEOD7(3) VEOD8(3) FCCP(3) TEOD(4) VEOD1(4) VEOD2(4) VEOD3(4) VEOD4(4) VEOD5(4) VEOD6(4) VEOD7(4) VEOD8(4) FCCP(4) TEOD(5) VEOD1(5) VEOD2(5) VEOD3(5) VEOD4(5) VEOD5(5) VEOD6(5) VEOD7(5) VEOD8(5) FCCP(5) TEOD(6) VEOD1(6) VEOD2(6) VEOD3(6) VEOD4(6) VEOD5(6) VEOD6(6) VEOD7(6) VEOD8(6) FCCP(6) TEOD(7) VEOD1(7) VEOD2(7) VEOD3(7) VEOD4(7) VEOD5(7) VEOD6(7) VEOD7(7) VEOD8(7) FCCP(7) TEOD(8) VEOD1(8) VEOD2(8) VEOD3(8) VEOD4(8) VEOD5(8) VEOD6(8) VEOD7(8) VEOD8(8) FCCP(8)
TABLE 4-3:
VALUE DEFINITIONS IN THE EEPROM
typ: 5, 20, 35, 50, 80, 113, 150, 150 typ: 19, 32, 48, 64, 77, 90, 109,1 09 Range: 1-255 per byte Range: 1-255
TEOD 8 coded bytes CEOD 8 coded bytes
EOD Temperature boundaries, 8 increasing values of temperature coded as TEODx = (Tcelsius * 10 + 200)/4 EOC C-rate boundaries, 8 increasing values of C-rates coded: CEODx = C-rate * (256/28/RF), where RF is the Rate Factor (RFACTOR) OTP EPROM parameter. For RF = 7, CEODx = C-rate * 64. Thus, a value of 32 is one-half C, etc. FCCP coded % VEOD coded typ: 50, 25, 12, 8, 0, 0, 0 typ: 75 Range: 1-255 Range: 1-255 Unusable residual capacity before save to disk, corresponding to temperature, 255 = 100% End-Of-Discharge voltage, voltage = 2700 + 4 * VEOD. Cell voltage at which save to disk is signaled.
DS21818C-page 12
2004 Microchip Technology Inc.
PS501
5.0 CHARGE CONTROL
A SBS configuration normally allows the Smart Battery to broadcast the ChargingVoltage and ChargingCurrent values to the Smart Battery Charger (SMBus address 12 hex) to `control' when to start charge, stop charge and when to signal a valid `fully charged' condition. AlarmWarnings are also sent from the Smart Battery (SMBus address 16 hex) to the Smart Battery Charger. Alternately, the SMBus Host or a "Level 3" Smart Battery Charger may simply read the SBData values for ChargingVoltage and ChargingCurrent from the Smart Battery directly. The Host or "Level 3" Smart Battery Charger is also required to read the SBData value of BatteryStatus to obtain the appropriate alarm and status bit flags. When used in this configuration, the ChargingCurrent and ChargingVoltage broadcasts can be disabled from the Smart Battery by setting the CHARGER_MODE (bit 14) in the BatteryMode register. The PS501 ICs support all of these functions. (Please refer to the SBS Smart Battery Charger Specification for a definition of the "Level 3" Smart Battery Charger.) The ChargingCurrent and ChargingVoltage registers contain the maximum charging parameters desired by the particular chemistry, configuration and environmental conditions. The environmental conditions include the measured temperature and the measured cell or pack voltages. For Li-based systems, ChargingVoltage should be set to the product of the EOCVolt and Cells values from the EEPROM: When ChargingCurrent is set to the ChrgCurrOff value, no broadcasts of either ChargingCurrent or ChargingVoltage will occur unless a charge current greater than NullCurr is detected by the A/D measurements. Temperature limits are set using the ChrgMaxTemp, DischrgMaxTemp and ChrgMinTemp values from EEPROM. These values represent the temperature limits within which ChargingCurrent will be set to ChrgCurr. Temperatures outside these limits will cause ChargingCurrent to be set to ChrgCurrOff. If ChargingCurrent is set to ChrgCurrOff and the measured temperature is greater than DischrgMaxTemp and less than ChrgMaxTemp and a charge current is measured which is significantly larger than the ChrgCurrOff value, then ChargingCurrent will be set to ChrgCurr unless a fully charged condition has already been reached. If the CHARGER_MODE bit in the BatteryMode register is cleared (enabling broadcasts of ChargingCurrent and ChargingVoltage), then these broadcasts will occur every NChrgBroadcast measurement cycle. The Smart Battery Data and Smart Battery Charger Specifications require that ChargingCurrent and ChargingVoltage broadcasts occur no faster than once per 5 seconds and no slower than once per 60 seconds when charging is occurring or desired. This requires that the NChrgBroadcast value must be set between 10 and 120. The SMBus Specification also requires that no broadcasts occur during the first 10 seconds after SMBus initialization.
EXAMPLE 5-1:
CONFIGURATION
EQUATION 5-1:
ChargingVoltage = EOCVolt x Cells The ChargingCurrent value is set to a maximum using the ChrgCurr value from the EEPROM. For Lithium systems, both ChargingCurrent and ChargingVoltage values are maximums. When the current reaches ChrgCurr, it will be held constant at this value. Then, when the voltage reaches ChrgVolt, the current must be reduced so that the voltage will be constant and not exceed the maximum. This is accomplished by setting ChargingCurrent to ChrgCurrOff. For safety reasons, this current change also occurs when the temperature limits are exceeded. When temperature or voltage limits are exceeded, the value of ChargingCurrent changes to the ChrgCurrOff value from the EEPROM. When a valid End-Of-Charge (EOC) condition is detected and a fully charged state is reached, the ChargingCurrent value is set equal to the ChrgCurrOff value.
Measurement cycle is 500 msec NChrgBroadcast = 100 decimal ChrgCurr = 2500 decimal ChrgCurrOff = 10 decimal ChrgMaxTemp = 162 decimal DischrgMaxTemp = 137 decimal ChrgMinTemp = 50 decimal Results: ChargingCurrent and ChargingVoltage broadcasts: 100 cycles of 500 msec = every 50 seconds Broadcast delay after SMBus initialization: 10 seconds ChargingCurrent if Temperature > 45C: 10 mA ChargingCurrent if Temperature < 0C: 10 mA ChargingCurrent if Temperature < 35C and > 0C: 2500 mA
2004 Microchip Technology Inc.
DS21818C-page 13
PS501
5.1 Full Charge Detection Methods 5.2 Temperature Algorithms
For a typical Lithium Ion constant-current/constantvoltage charge system, the PS501 will monitor the taper current that enters the battery once the battery has reached the final voltage level of the charger. Once the taper current falls to a certain level, indicating that the battery is full, the End-Of-Charge (EOC) will be triggered. Different taper currents will be used for different temperatures. See the parameter explanation in Section 9.0 "Parameter Setup" for details. When a valid fully charged EOC condition is detected, the following actions occur: * The FULLY_CHARGED status bit (bit 5) in the SBData value of BatteryStatus is set to `1' to indicate a full condition. (This will remain set until RelativeStateOfCharge drops below the ClrFullyChrg value in EEPROM.) * RelativeStateOfCharge is set to 100%. * ChargingCurrent is set to ChrgCurrOff value. * SBData value for MaxError is cleared to zero percent (0%). * The TERMINATE_CHARGE_ALARM bit (bit 14) is set in BatteryStatus and an AlarmWarning broadcast is sent to the SMBus Host and Smart Battery Charger addresses. * The OverChrg value is incremented for any charge received above 100% after a valid fully charged EOC condition. * Control flags for internal operations are set to indicate a valid full charge condition was achieved. * Other BatteryStatus or AlarmWarning flag bits may also be set depending on the conditions causing the EOC. - The charge timer, EOCTimer, is exceeded - Cell voltage is higher than TCAVolt The PS501 SMBus Smart Battery IC provides multiple temperature alarm set points and charging conditions. The following EEPROM parameters control how the temperature alarms and charging conditions operate. HighTempAl: When the measured temperature is greater than HighTempAl, the OVER_TEMP_ALARM is set. If the battery is charging, then the TERMINATE_CHARGE_ALARM is also set. ChrgMinTemp, DischrgMaxTemp and ChrgMaxTemp: If the measured temperature is less than ChrgMinTemp, the ChargingCurrent is set to ChrgCurrOff and the ChargingVoltage is set to ChrgVolt to communicate to the charger that the non-charging state of current and voltage should be given. When measured temperature is greater than ChrgMaxTemp and the system is charging, or greater than DischrgMaxTemp and the system is discharging, then ChargingCurrent is set to ChrgCurrOff and the ChargingVoltage is set to ChrgVoltOff also. Otherwise, ChargingCurrent = ChrgCurr and ChargingVoltage = ChrgVolt.
6.0
CELL BALANCING
The PS501 has internal cell balancing loads with which to draw extra current away from higher voltage cells. There are internal 500 ohm resistors, which will draw up to 8.4 mA of current from each cell, depending on the cell voltage. The cell balancing algorithm will monitor individual cell voltages and the difference between them. When the difference between any cells exceeds the EEPROM parameter, VcelldiffMax, the resistor load will be applied to the higher cell until it is within VcelldiffresetMax of the lowest. Cell balancing will only be applied during the charging state to maintain run time during discharge. Determination of cell balance requirement will be made near End-Of-Charge, when the capacity difference results in a cell voltage difference. Once this determination is made, cell balancing will commence on the charge cycle and remain in effect for the entire charge cycle. Upon discharging, cell balancing will be disabled to preserve run time. Once the near empty point is reached again, determination will be made as to whether correct hysteresis has been reached to disable the cell balancing for the next charge cycle.
DS21818C-page 14
2004 Microchip Technology Inc.
PS501
FIGURE 6-1: CELL BALANCING
Cell balancing: entry from main
Charging ?
YES
NO
Any VCELL balance flags set ?
YES
flag_cell_imbalance_on set ?
YES
Any VCELL delta > r_e_vcell_imbalance_reset ?
NO Set Appropriate Cell Balancing (ADCON1) per Active Balance flags (1 to 3) Set flag_cell_balance_on = 1
NO
SOC < r_e_imbalance_SOC (%) ?
NO
NO YES
NO
Any VCELL Delta > r_e_vcell_imbalance_set ?
Set All Cell Balance flags OFF Set flag_cell_balance_on = 0
YES
Set Appropriate Cell Balance flag(s) to Balance during Charge (3 maximum) YES
Force ADCON1 CB bits to 0 (no balancing during discharge)
exit back to main
This algorithm makes the imbalance determination on the discharge cycle near EOD and uses the entire charge cycle for balancing (good for low balance currents)
2004 Microchip Technology Inc.
DS21818C-page 15
PS501
7.0 GPIO CONFIGURATION
GPIOs can be set up to act as inputs or outputs that are based on conditions involving SBData parameters or GPIO levels compared to constants. This powerful programming model allows for customizing GPIO to set on any possible fuel gauge conditions and reset on any other possible fuel gauge conditions in any groupings.
TABLE 7-1:
GPIOSTATE
GPIO CONFIGURATIONS
Name Length 2 2 Definition Initialized default state (positive logic) Initialized direction: 1 = input 0 = output GPIO configuration Bit 8: 1 = pull-ups/downs disabled 0 = pull-downs enabled Bits 7:0: if input: 1 = pulled down 0 = pulled up if output: 1 = LED drive (GPIO0-7 only) 0 = standard logic "Polarity" mask applied to invert positive logic
GPIODIRECTION
GPIOCONFIG
2
GPIOPOLARITY
2
GPIOs configured above as standard logic output can be programmed to activate or reset in response to any group of fuel gauge conditions. Each "condition" is defined by 4 bytes.
TABLE 7-2:
Byte Byte 1
GPIO CONDITIONS
Condition Flags bit 7: bit 4: bit 3: bits 2:0 Definition 1 signifies last condition in group Combination function (1:AND, 0:OR) Signed (1) or unsigned (0) Comparison function (0 : >, 1 : <, 2 : =, 3 : AND, 4 : NOR)
Byte 2
Condition selection
x00-x3F - SBData command code x40 - State flags x41 - GPIO flags x42 - VCELL-min x43 - VCELL-max x44 - VCELL-diff x45 - Misc. flags Constant
Byte 3 Byte 4
Condition threshold
DS21818C-page 16
2004 Microchip Technology Inc.
PS501
Each condition in the table is processed by applying a "comparison function" to the selected data ("condition selection") and the given constant ("condition threshold"). The result of this operation ("true" or "false") from each condition in the group is combined as dictated by the "AND-OR" "combination function" bit in the flag byte. Because the "AND" function has precedence over the "OR", processing the CG can be described as OR'ing subgroups of ANDs (see Example 7-1 below). One 8-bit timer (clocked at 500 msec) is associated with all 16 CSF(s). The timer compared to its threshold is an implied "AND" term to the CG (i.e., if processing of the CG to set the CSF results in "true", the timer is incremented and if timer >= threshold, the SF is set; otherwise, the SF is not set even though the GC is satisfied). If processing of the CG to set the CSF results in "false", the timer is set to zero. The timer is not allowed to increment past the threshold. The conditions in the order they are stored in memory will build the activation equation until bit 7 of byte 1 is set, signifying the last condition of the group. At that point, the next group of conditions is the Reset equation. When the next to last condition bit is set, a new activation group begins.
EXAMPLE 7-1:
CONDITION GROUPS
Example Condition Group: (VCELL-min < 3200) .AND. (CURR > 100) .OR. (TEMP > 60) .AND. (CURR > 200) because of precedence the equation would be interpreted: ((VCELL-min < 3200) .AND. (CURR > 100)) .OR. ((TEMP > 60) .AND. (CURR > 200)) Example Reset Condition Group: (VCELL-min > 3200) OR (CURR = 200)
TABLE 7-3:
Condition 1 2 3 4 1 2
CONDITIONS FOR EXAMPLE 7-1
Byte 1 x01 x10 x00 x80 x00 x82 Byte 2 x42 x0A x08 x0A x42 x0A Byte 3, 4 x0C80 x0064 x0D02 x00C8 x0C80 x00C8 OR VCELL-min < 3200 AND CURR > 100 OR TEMP > 60C (3330 degrees K * 10) AND CURR > 200 (last condition bit set) OR VCELL-min > 3200 OR CURR = 200 (last condition bit set) Description
TABLE 7-4:
Name
PARAMETERS
Length 2 2 2 2 2 2 2 2 2 2 2 2 1 1 Description Mask applied to the CSF, if <> 0, GPIO is set Mask applied to the CSF, if <> 0, GPIO is set Mask applied to the CSF, if <> 0, GPIO is set Mask applied to the CSF, if <> 0, GPIO is set Mask applied to the CSF, if <> 0, GPIO is set Mask applied to the CSF, if <> 0, GPIO is set Mask applied to the CSF, if <> 0, GPIO is set Mask applied to the CSF, if <> 0, GPIO is set Mask applied to the CSF, if <> 0, GPIO is set Mask applied to the CSF, if <> 0, GPIO is set Mask applied to the CSF, if <> 0, GPIO is set Mask applied to the CSF, if <> 0, GPIO is set Timer threshold/limit (500 msec tics)
SAFE_GPIO_MASK_00 SAFE_GPIO_MASK_01 SAFE_GPIO_MASK_02 SAFE_GPIO_MASK_03 SAFE_GPIO_MASK_04 SAFE_GPIO_MASK_05 SAFE_GPIO_MASK_06 SAFE_GPIO_MASK_07 SAFE_GPIO_MASK_08 SAFE_GPIO_MASK_09 SAFE_GPIO_MASK_10 SAFE_GPIO_MASK_11 SAFE_TIMER_LIMIT_0 SAFE_TIMER_LIMIT_1
2004 Microchip Technology Inc.
DS21818C-page 17
PS501
TABLE 7-4:
Name SAFE_TIMER_LIMIT_2 SAFE_TIMER_LIMIT_3 SAFE_TIMER_LIMIT_4 SAFE_TIMER_LIMIT_5 SAFE_TIMER_LIMIT_6 SAFE_TIMER_LIMIT_7 SAFE_TIMER_LIMIT_8 SAFE_TIMER_LIMIT_9 SAFE_TIMER_LIMIT_10 SAFE_TIMER_LIMIT_11 SAFE_TIMER_LIMIT_12 SAFE_TIMER_LIMIT_13 SAFE_TIMER_LIMIT_14 SAFE_TIMER_LIMIT_15 SAFE_FLAG_COUNT SAFE_CONDITION ... SAFE_CONDITION
PARAMETERS (CONTINUED)
Length 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 Number of CSF(s) to process, 0-16 (there must be 2 condition groups (CGs) per CSF) Condition (start of table) Condition Condition (end of table) Description
7.1
LED Parameters
When configured as LED drivers, the following parameters determine the State-Of-Charge at which each LED will turn on.
TABLE 7-5:
Name LED_MASK LED_VALUE_0 LED_VALUE_1 LED_VALUE_2 LED_VALUE_3 LED_VALUE_4 LED_VALUE_5 LED_VALUE_6 LED_VALUE_7 LED_ICHG
LED PARAMETERS
Length 1 1 1 1 1 1 1 1 1 2 1 2 1 Definition Mask defining GPIO(s) used for LED display(s) (1 = LED) GPIO 0 SOC value (SOC >= LED_VALUE, LED = on) GPIO 1 SOC value (SOC >= LED_VALUE, LED = on) GPIO 2 SOC value (SOC >= LED_VALUE, LED = on) GPIO 3 SOC value (SOC >= LED_VALUE, LED = on) GPIO 4 SOC value (SOC >= LED_VALUE, LED = on) GPIO 5 SOC value (SOC >= LED_VALUE, LED = on) GPIO 6 SOC value (SOC >= LED_VALUE, LED = on) GPIO 7 SOC value (SOC >= LED_VALUE, LED = on) Current threshold for LED display Duty cycle of LED drivers Mask for switch input(s). If switch is active-high, all bits are `0' except switch pin. If switch is active-low, all bits are `1' except switch pin. Number of 500 ms periods LEDs are lit after switch press
LED_DUTYCYCLE GPIO_SWITCHMASK LED_DISPLAY_TIME
DS21818C-page 18
2004 Microchip Technology Inc.
PS501
8.0 SMBus/SBData INTERFACE
8.1 SBData Function Description
The PS501 uses a two-pin System Management Bus (SMBus) protocol to communicate to the Host. One pin is the clock and one pin is the data. The SMBus port responds to all commands in the Smart Battery Data Specification (SBData). To receive information about the battery, the Host sends the appropriate commands to the SMBus port. Certain alarms, warnings and charging information may be sent to the Host by the PS501 automatically. The SMBus protocol is explained in this chapter. The SBData command set is summarized in Table 8-1. The PS501 SMBus communications port is fully compliant with the System Management Bus Specification, Version 1.1 and supports all previous and new requirements, including bus time-outs (both slave and master), multi-master arbitration and collision detection/recovery. The SMBus port serves as a slave for both read and write functions, as well as a master for write word functions. SMBus slave protocols supported include read word, write word, read block and write block. Master mode supports write word protocols. The PS501 meets and exceeds the Smart Battery Data Specification, Version 1.1/1.1a requirements. The PS501 is compliant with System Management Bus Specification 1.0. The PS501 fully implements the Smart Battery Data (SBData) Specification v1.1. The SBData Specification defines the interface and data reporting mechanism for an SBS compliant Smart Battery. It defines a consistent set of battery data to be used by a power management system to improve battery life and system run-time, while providing the user with accurate information. This is accomplished by incorporating fixed, measured, calculated and predicted values, along with charging and alarm messages, with a simple communications mechanism between a Host system, Smart Batteries and a Smart Charger. The PS501 provides full implementation of the SBData set with complete execution of all the data functions, including sub-functions and control bits and flags, compliance to the accuracy and granularity associated with particular data values and proper SMBus protocols and timing. The following subsections document the detailed operation of all of the individual SBData commands.
8.1.1
ManufacturerAccess (0x00)
Internal use only.
8.1.2
RemainingCapacityAlarm (0x01)
Sets or reads the low capacity alarm value. Whenever the remaining capacity falls below the low capacity alarm value, the Smart Battery sends alarm warning messages to the SMBus Host with the REMAINING_CAPACITY_ALARM bit set. A low capacity alarm value of `0' disables this alarm.
8.1.3
RemainingTimeAlarm (0x02)
Sets or reads the remaining time alarm value. Whenever the AverageTimeToEmpty falls below the remaining time value, the Smart Battery sends alarm warning messages to the SMBus Host with the REMAINING_TIME_ALARM bit set. A remaining time value of `0' disables this alarm.
2004 Microchip Technology Inc.
DS21818C-page 19
PS501
TABLE 8-1: SMART BATTERY DATA FUNCTIONS
Command Code 0x00 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c -- 0x20 0x21 0x22 0x23 0x3c 0x3d 0x3e 0x3f Access R/W R/W R/W R/W R/W Read Read Read Read Read Read Read Read Read Read Read Read Read Read Read Read Read Read Read Read Read Read Read Read Read -- Read Read Read Read Read Read Read Read MFGName DeviceName Chemistry MFGData V1 Cell Voltage V2 Cell Voltage V3 Cell Voltage V4 Cell Voltage ChrgVolt or ChrgVoltOff BatStatus Cycles DesignCapacity DesignVPack SBDataVersion Date SerialNumber -- RemCapAl RemTimeAl mAh or 10 mWh Minutes Bit code mAh or 10 mWh Minutes Minutes Binary 0/1 (LSB) 0.1K mV mA mA % % % mAh or 10 mWh mAh or 10 mWh Minutes Minutes Minutes ChrgCurr or ChrgCurrOff mA mV Bit code Integer mAh or 10 mWh mV Coded Coded Not specified -- ASCII text string ASCII text string ASCII text string Hex string mV mV mV mV Parameter Reference Units
(1) (1)
SBData Function Name ManufacturerAccess - Write RemainingCapacityAlarm RemainingTimeAlarm BatteryMode AtRate AtRateTimeToFull AtRateTimeToEmpty AtRateOK Temperature Voltage Current AverageCurrent MaxError RelativeStateOfCharge AbsoluteStateOfCharge RemainingCapacity FullChargeCapacity RunTimeToEmpty AverageTimeToEmpty AverageTimeToFull ChargingCurrent ChargingVoltage BatteryStatus CycleCount DesignCapacity DesignVoltage SpecificationInfo ManufactureDate SerialNumber Reserved ManufacturerName DeviceName DeviceChemistry ManufacturerData OptionalMfgFunction4 OptionalMfgFunction3 OptionalMfgFunction2 OptionalMfgFunction1 Note 1: Reserved.
ManufacturerAccess - Read
DS21818C-page 20
2004 Microchip Technology Inc.
PS501
8.1.4 BatteryMode (0x03)
This function selects the various battery operational modes and reports the battery's capabilities, modes and condition. Bit 0: INTERNAL_CHARGE_CONTROLLER Bit set indicates that the battery pack contains its own internal charge controller. When the bit is set, this optional function is supported and the CHARGE_CONTROLLER_ENABLED bit will be activated. Bit 1: PRIMARY_BATTERY_SUPPORT Bit set indicates that the battery pack has the ability to act as either the primary or secondary battery in a system. When the bit is set, this optional function is supported and the PRIMARY_BATTERY bit will be activated. Bit 2-6: Reserved Bit 7: CONDITION_FLAG Bit set indicates that the battery is requesting a conditioning cycle. This typically will consist of a full charge to full discharge, back to full charge of the pack. The battery will clear this flag after it detects that a conditioning cycle has been completed. Bit 8: CHARGE_CONTROLLER_ENABLED Bit is set to enable the battery pack's internal charge controller. When this bit is cleared, the internal charge controller is disabled (default). This bit is active only when the INTERNAL_CHARGE_CONTROLLER bit is set. Bit 9: PRIMARY_BATTERY Bit is set to enable a battery to operate as the primary battery in a system. When this bit is cleared, the battery operates in a secondary role (default). This bit is active only when the PRIMARY_BATTERY_SUPPORT bit is set. Bit 10-12: Reserved Bit 13: ALARM_MODE Disables the Smart Battery's transmission of the BatteryStatus bits on an alarm condition. Will reset to enabled after 60 seconds. Bit 14: CHARGER_MODE Enables or disables the Smart Battery's transmission of ChargingCurrent and ChargingVoltage messages to the Smart Battery Charger. When set, the Smart Battery will not transmit ChargingCurrent and ChargingVoltage values to the charger. When cleared, the Smart Battery will transmit the ChargingCurrent and ChargingVoltage values to the charger when charging is desired. Bit 15: CAPACITY_MODE Indicates if capacity information will be reported in mA/ mAh or 10 mW/10 mWh. When set, the capacity information will be reported in 10 mW/10 mWh. When cleared, the capacity information will be reported in mA/mAh.
8.1.5
AtRate (0x04)
AtRate is a value of current or power that is used by three other functions: AtRateTimeToFull, AtRateTimeToEmpty and AtRateOK: * AtRateTimeToFull returns the predicted time to full charge at the AtRate value of charge current. * AtRateTimeToEmpty function returns the predicted operating time at the AtRate value of discharge current. * AtRateOK function returns a Boolean value that predicts the battery's ability to supply the AtRate value of additional discharge current for 10 seconds.
8.1.6
AtRateTimeToFull (0x05)
Returns the predicted remaining time to fully charge the battery at the AtRate value (mA). The AtRateTimeToFull function is part of a two-function call set used to determine the predicted remaining charge time at the AtRate value in mA. It will be used immediately after the SMBus Host sets the AtRate value.
8.1.7
AtRateTimeToEmpty (0x06)
Returns the predicted remaining operating time if the battery is discharged at the AtRate value. The AtRateTimeToEmpty function is part of a two-function call set used to determine the remaining operating time at the AtRate value. It will be used immediately after the SMBus Host sets the AtRate value.
8.1.8
AtRateOK (0x07)
Returns a Boolean value that indicates whether or not the battery can deliver the AtRate value of additional energy for 10 seconds (Boolean). If the AtRate value is zero or positive, the AtRateOK function will always return true. The AtRateOK function is part of a twofunction call set used by power management systems to determine if the battery can safely supply enough energy for an additional load. It will be used immediately after the SMBus Host sets the AtRate value.
8.1.9
Temperature (0x08)
Returns the cell pack's internal temperature in units of 0.1K.
8.1.10
Voltage (0x09)
Returns the pack voltage (mV).
8.1.11
Current (0x0a)
Returns the current being supplied (or accepted) through the battery's terminals (mA).
2004 Microchip Technology Inc.
DS21818C-page 21
PS501
8.1.12 AverageCurrent (0x0b)
Returns a one-minute rolling average based on at least 60 samples of the current being supplied (or accepted) through the battery's terminals (mA). BatteryMode's CAPACITY_MODE bit. This is an important distinction because use of the wrong calculation mode may result in inaccurate return values.
8.1.20
AverageTimeToFull (0x13)
8.1.13
MaxError (0x0c)
Returns the expected margin of error (%) in the StateOf-Charge calculation. For example, when MaxError returns 10% and RelativeStateOfCharge returns 50%, the RelativeStateOfCharge is actually between 50% and 60%. The MaxError of a battery is expected to increase until the Smart Battery identifies a condition that will give it higher confidence in its own accuracy. For example, when a Smart Battery senses that it has been fully charged from a fully discharged state, it may use that information to reset or partially reset MaxError. The Smart Battery can signal when MaxError has become too high by setting the CONDITION_FLAG bit in BatteryMode.
Returns a one-minute rolling average of the predicted remaining time until the Smart Battery reaches full charge (minutes).
8.1.21
ChargingCurrent (0x14)
Sets the maximum charging current for the Smart Charger to charge the battery. This can be written to the Smart Charger from the Smart Battery or requested by the Smart Charger from the battery.
8.1.22
ChargingVoltage (0x15)
8.1.14
RelativeStateOfCharge (0x0d)
Sets the maximum charging voltage for the Smart Charger to charge the battery. This can be written to the Smart Charger from the Smart Battery or requested by the Smart Charger from the battery.
Returns the predicted remaining battery capacity expressed as a percentage of FullChargeCapacity (%).
8.1.23
BatteryStatus (0x16)
8.1.15
AbsoluteStateOfCharge (0x0e)
Returns the predicted remaining battery capacity expressed as a percentage of DesignCapacity (%). Note that AbsoluteStateOfCharge can return values greater than 100%.
8.1.16
RemainingCapacity (0x0f)
Returns the predicted remaining battery capacity. The RemainingCapacity value is expressed in either current (mAh) or power (10 mWh), depending on the setting of the BatteryMode's CAPACITY_MODE bit.
Returns the Smart Battery's status word (flags). Some of the BatteryStatus flags, like REMAINING_CAPACITY_ALARM and REMAINING_TIME_ALARM, are calculated based on either current or power, depending on the setting of the BatteryMode's CAPACITY_MODE bit. This is important because use of the wrong calculation mode may result in an inaccurate alarm. The BatteryStatus function is used by the power management system to get alarm and status bits, as well as error codes, from the Smart Battery. This is basically the same information returned by the SBData AlarmWarning function except that the AlarmWarning function sets the error code bits all high before sending the data. Also, information broadcasting is disabled in the PS501. Battery Status Bits: bit 15: bit 14: bit 13: bit 12: bit 11: bit 10: bit 9: bit 8: bit 7: bit 6: bit 5: bit 4: OVER_CHARGED_ALARM TERMINATE_CHARGE_ALARM Reserved OVER_TEMP_ALARM TERMINATE_DISCHARGE_ALARM Reserved REMAINING_CAPACITY_ALARM REMAINING_TIME_ALARM INITIALIZED DISCHARGING FULLY_CHARGED FULLY_DISCHARGED
8.1.17
FullChargeCapacity (0x10)
Returns the predicted pack capacity when it is fully charged. It is based on either current or power, depending on the setting of the BatteryMode's CAPACITY_MODE bit.
8.1.18
RunTimeToEmpty (0x11)
Returns the predicted remaining battery life at the present rate of discharge (minutes). The RunTimeToEmpty value is calculated based on either current or power, depending on the setting of the BatteryMode's CAPACITY_MODE bit. This is an important distinction because use of the wrong calculation mode may result in inaccurate return values.
8.1.19
AverageTimeToEmpty (0x12)
Returns a one-minute rolling average of the predicted remaining battery life (minutes). The AverageTimeToEmpty value is calculated based on either current or power, depending on the setting of the
The Host system assumes responsibility for detecting and responding to Smart Battery alarms by reading the BatteryStatus to determine if any of the alarm bit flags are set. At a minimum, this requires the system to poll the Smart Battery BatteryStatus every 10 seconds at all times the SMBus is active.
DS21818C-page 22
2004 Microchip Technology Inc.
PS501
8.1.24 CycleCount (0x17) 8.1.32 DeviceChemistry (0x22)
CycleCount is updated to keep track of the total usage of the battery. CycleCount is increased whenever an amount of charge has been delivered to, or removed from, the battery equivalent to the full capacity. This function returns a character string that contains the battery's chemistry. For example, if the DeviceChemistry function returns "NiMH", the battery pack would contain nickel metal hydride cells. The following is a partial list of chemistries and their expected abbreviations. These abbreviations are not case sensitive. Lead Acid: PbAc Lithium Ion: LION Nickel Cadmium: NiCd Nickel Metal Hydride: NiMH Nickel Zinc: NiZn Rechargeable Alkaline-Manganese: RAM Zinc Air: ZnAr
8.1.25
DesignCapacity (0x18)
Returns the theoretical capacity of a new pack. The DesignCapacity value is expressed in either current or power, depending on the setting of the BatteryMode's CAPACITY_MODE bit.
8.1.26
DesignVoltage (0x19)
Returns the theoretical voltage of a new pack (mV).
8.1.27
SpecificationInfo (0x1a)
Returns the version number of the Smart Battery specification the battery pack supports.
8.1.33
ManufacturerData (0x23)
This function allows access to the manufacturer data contained in the battery (data).
8.1.28
ManufactureDate (0x1b)
This function returns the date the cell pack was manufactured in a packed integer. The date is packed in the following fashion: (year-1980) * 512 + month * 32 + day.
8.1.34
OptionalMfgFunction
8.1.29
SerialNumber (0x1c)
This function is used to return a serial number. This number, when combined with the ManufacturerName, the DeviceName and the ManufactureDate, will uniquely identify the battery.
The PS501 includes new SBData functions using the OptionalMfgFunction command codes. The command codes, 3C hex to 3F hex, report the individual cell voltages as measured by the analog-to-digital converter. These voltages are reported in mV and are calculated to include compensation for calibration and sense resistance voltage drops. Only one cell voltage is measured per measurement cycle (depending on Run or Sample mode operation). Rapid voltage changes will see some variation in voltages due to the delay of measurement. These voltage values may be used for cell balancing or other functions as the Host system may desire.
8.1.30
ManufacturerName (0x20)
This function returns a character array containing the battery manufacturer's name.
8.1.31
DeviceName (0x21)
This function returns a character string that contains the battery's name.
2004 Microchip Technology Inc.
DS21818C-page 23
PS501
TABLE 8-2: PS501 ALARMS AND STATUS SUMMARY
Set Condition Clear Condition Set at End-Of-Charge Condition: RelativeStateOfCharge ( ) < ClrFullyChrg Charge FET off (default RSOC = 80%) AND Any VC(x) input > 4.175V AND IAVG < EOC_IAVG for ChrgCntrlTimer number of consecutive counts VCELLx > TCAVolt (default 4.5V/Cell) VCELLx > TCAVolt (default 4.5V/Cell) OR Charging Temperature ( ) > ChrgMaxTemp (default 60C) OR FULLY_CHARGED bit = 1 Temperature ( ) > HighTempAl (default 55C) All VCELLx < TCAVolt All VCELLx < TCAVolt AND Temperature ( ) < ChrgMaxTemp AND Current ( ) = < 0 Temperature ( ) < HighTempAl Primary Method: All VCELLx > VEOD1 OR Current ( ) > 0 Secondary Method: All VCELLx > VEOD2 OR Current ( ) > 0 RemainingCapacity ( ) > RemainingCapacityAlarm ( ) AverageTimeToEmpty ( ) > RemainingTimeAlarm ( ) RelativeStateOfCharge ( ) > ClrFullyDischrg (default RSOC = 20%) Battery Status FULLY_CHARGED bit
OVER_CHARGED_ALARM bit TERMINATE_CHARGE_ALARM bit
OVER_TEMP_ALARM bit
TERMINATE_DISCHARGE_ALARM bit Primary Method: VCELLx < VEOD1 (per look-up table) AND Above condition continues for NearEODRecheck time. Secondary Method: VCELLx < VEOD2 (default 3.1V/Cell) AND Above condition continues for EODRecheck time. REMAINING_CAPACITY_ALARM bit REMAINING_TIME_ALARM bit FULLY_DISCHARGED bit RemainingCapacity ( ) < RemainingCapacityAlarm ( ) AverageTimeToEmpty ( ) < RemainingTimeAlarm ( ) RemainingCapacity ( ) = 0
TABLE 8-3:
Temperature, ChargingCurrent ( ) AND ChargingVoltage ( ) SUMMARY
Temperature ( ) > HighTempAI (default 60C) Charging Discharging OVER_TEMP_ALARM Temperature ( ) < HighTempAI
TERMINATE_CHARGE_ALARM and OVER_TEMP_ALARM Cleared
Temperature ( ) > ChrgMaxTemp (default 50C) Charging
Temperature ( ) > DischrgMaxTemp (default 65C) Discharging
ChargingCurrent ( ) = ChrgCurrOff ChargingVoltage ( ) = ChrgVoltOff
Temperature ( ) < ChrgMinTemp ChargingCurrent ( ) = ChrgCurrOff ChargingVoltage ( ) = ChrgVolt For all other temperature conditions: ChargingCurrent ( ) = ChrgCurr ChargingVoltage ( ) = ChrgVolt
DS21818C-page 24
2004 Microchip Technology Inc.
PS501
9.0 PARAMETER SETUP
This section documents all of the programmable parameters that are resident in the EEPROM. The Parameter Set is organized into the following functional groups: 1. 2. 3. 4. 5. 6. 7. 8. Pack Information Capacity Calculations EOD and FCC Relearn Charge Control GPIO PS501 Settings SBData Settings Calibration
TABLE 9-1:
Parameter Name BatStatus Cells Chemistry
PACK INFORMATION
# Lower Bytes Limit 1 1 4 0 0 -- Upper Limit 255 255 -- Typical Value 4 LION Operational Description
b01000000 Lower byte of SBData register for BatteryStatus. Number of cells in the battery pack. SBS data for chemistry. Can be any ASCII string. The chemistry name can be programmed here and retrieved with the SBData DeviceChemistry command. SBData value for ManufactureDate. The date of manufacture of the battery pack can be programmed here and retrieved with the SBData ManufactureDate command. Coding: Date = (Year-1980) x 512 + Month x 32 + Day SBData value for DesignCapacity. This is the first capacity loaded into the FullChargeCapacity upon power-up. SBData value for DesignVoltage. SBData value for DeviceName. Can be any ASCII string. The battery circuit device name can be programmed here and retrieved with the SBData DeviceName command. SBS string for ManufacturerData.
Date
2
0
65535
0x3042
DesignCapacity
2
0
65535
4400
DesignVPack DeviceName
2 8
0 --
65535 --
14800 PS501
MFGData MFGName
4 10
-- --
-- --
0x0
Microchip SBS string for ManufacturerName. Can be any ASCII string, typically the name of the battery pack manufacturer. Length of string is defined by MfgNameLength. 65 AA4D D4AA 33 100 Resistance of pack. First password for the battery pack lock. Second password for the battery pack lock. Specification info according to SBS Spec. 0011, refers to Smart Battery Specification version 1.1. SBData value for SerialNumber. The serial number of the battery pack can be programmed here and retrieved with the SBData SerialNumber command.
PackRes PW1 PW2 SpecInfo SerialNumber
2 2 2 2 2
0 0 0 0 0
65535 65535 65535 65535 65535
2004 Microchip Technology Inc.
DS21818C-page 25
PS501
TABLE 9-2:
Parameter Name CurrError
CAPACITY CALCULATIONS
# Lower Upper Typical Bytes Limit Limit Value 1 0 255 1 Operational Description Current measurement error. This is the error due to the accuracy of the A/D converter to measure and integrate the current, 255 = 24.9%. SBData register for CycleCount. Cycles is updated to keep track of the total usage of the battery. Cycles is increased whenever an amount of charge has been delivered to or removed from the battery, equivalent to the full capacity. For a 4000 mAh battery, Cycles is increased every time 4000 mAh goes through the battery terminals in any direction. The initial capacity of the battery. When the PS501 is first powered up and initialized, before a learning cycle takes place to learn the full capacity, the full capacity will take the value programmed into InitialCap to compute relative State-Of-Charge percentage. Current offset for error calculation. Since the error of the A/D converter is proportional to the level of current it is measuring, the error term can be too low when the current is very low. For this reason, the LowCurrError will compensate the ERR term for low currents. LowCurrError milli-Amps are added to the current when factoring in the error. Thus, the error is: Error = (Current + LowCurrError) * CurrError. State change delay filter. Delays the change between "charge increasing" state and "charge decreasing" state based on current direction. To avoid problems with current spikes in opposite directions, a delay filter is built-in to control when to change from charging status to discharging status. The current must change directions and stay in the new direction for CST_DELAY * period before the status is changed and capacity is increased or decreased as a result of the new current direction. A zero zone control is built into the PS501 so that any small inaccuracy doesn't actually drain the gas gauge, when in fact the current is zero. For this reason, current less than NullCurr mA in either direction will be measured as zero. Current consumption of the battery module. This is the average current that the battery module typically draws from the battery (255 = 1 mA). Self-discharge error. This is the error inherent in the ability of the self-discharge look-up tables to meet actual battery characteristics, 255 = 100%.
Cycles
2
0
65535
0
InitialCap
2
0
65535
2048
LowCurrError
1
0
255
25
NChangeState
1
0
255
8
NullCurr
1
0
255
3
PwrConsumption
1
0
65535
140
SelfDischrgErr
1
0
255
1
DS21818C-page 26
2004 Microchip Technology Inc.
PS501
TABLE 9-3:
Parameter Name ADLNearEmpty ADLNearFull EOD1Cap
EOD AND FCC RELEARN
# Lower Bytes Limit 2 2 2 0 0 0 Upper Limit 65535 65535 65535 Typical Value 3600 4000 150 Operational Description Cell voltage at which A/D switches to emphasize voltage over current measurement near EOD (mV). Cell voltage at which A/D switches to emphasize voltage over current measurement near EOC (mV). The capacity that remains in the battery at EOD1Voltage. This is typically a small amount used to power a shutdown sequence for the system. Voltage for EOD1 fixed voltage point (mV). Delay filter for the EOD1 condition. Number of checks before EOD1 trigger. The End-Of-Discharge conditions must remain for at least this number of periods before being considered true, to help filter out false empty conditions due to spikes. EOD1 condition is based on the Variable Voltage Look-up Table or EOD1Voltage. Delay filter for EOD2 condition; EOD2 is based on Vempty. Learned value of battery capacity. Used for SBData value of FullChargeCapacity. This is a learned parameter which is the equivalent of all charge counted from fully charged to fully discharged, including self-discharge and error terms. This is reset after a learning cycle and used for remaining capacity and relative State-Of-Charge calculations. Value of measured current that prevents a capacity relearn from occurring when a terminate discharge alarm condition is reached at End-Of-Discharge (EOD). A learning cycle will happen when the battery discharges from fully charged, all the way to fully discharged, with no charging in between and the discharge current never exceeds RelearnCurrLim (Example: 3000). A relearn will only occur if current does not exceed 3000 mA. The maximum relearn limit. The maximum percentage that the FULL_CAPACITY can change after a learning cycle, where 255 = 100%. Maximum error for learning FullCapacity. The FULL_CAPACITY will not be learned after a learning cycle if the error is too great. The number of initial cycles without RelearnLimit. The initial number of cycles where RelearnLimit is not active. FullCapacity can vary more greatly with the first learning cycle since the initial capacity may not be correct, thus this should be set to at least `2'. Second and final End-Of-Discharge voltage point. At this point, remaining capacity is optionally set to `0'.
EOD1Voltage EOD1Recheck
2 1
0 0
65535 255
3100 6
EOD2Recheck FullCapacity
1 2
0 0
255 65535
6 4150
RelearnCurrLim
2
0
65535
10,000
RelearnLimit
1
0
255
205
RelearnMaxErr
2
0
65535
300
RLCycles
1
0
255
2
Vempty
2
0
65535
3000
2004 Microchip Technology Inc.
DS21818C-page 27
PS501
TABLE 9-4:
Parameter Name ChrgCurr
CHARGE CONTROL
# Bytes 2 Lower Limit 0 Upper Limit 65535 Typical Value 3000 Operational Description This is the full charging current that the battery requires during normal charging. It can be broadcasted to the charger or read from the PS501. Trickle charging current. This is a small amount of current that the charger should deliver when full charging needs to be halted temporarily due to high temperature. Temperature threshold when charging, Coded value = (Celsius * 10 + 200)/4. When the temperature exceeds ChrgMaxTemp and the battery is charging, then ChargingCurrent is set to ChrgCurrOff and ChargingVoltage is set to ChrgVoltOff. Low temperature threshold, Charging coded value = (Celsius * 10 + 200)/4. When charging, if the temperature is less than ChrgMinTemp, then ChargingCurrent is set to ChrgCurrOff and ChargingVoltage is set to ChrgVoltOff. This is the voltage required by the battery during normal charging. Voltage required when charging should be halted. Reset FULLY_CHARGED bit at this level, 100 = 100%. Once the FULLY_CHARGED bit is set, taper or pulse current will not be monitored any more. When discharging begins, the FULLY_CHARGED bit must remain set until the cell voltages are below EOC_VOLT so that a small current will not trigger a false End-Of-Charge trigger. Thus, ClrFullyChrg is set at about 90%. FULLY_CHARGED bit will be on until the battery has discharged to less than 90%. Reset FULLY_DISCHARGED bit, 100 = 100%. Once fully discharged bit is set, it will stay set until capacity rises above this value, typically 10%. EOC trigger for pulse charging. If the average current during charging, with the CFET turned off, has dropped below the AvgCurrEOCThresh threshold for a pass count equal to the EEPROM parameter value ChrgCntrlTimr (typically between 8 and 16), the End-Of-Charge state will be reached. Delay filter for the EOC condition. Number of checks before EOC trigger. The End-Of-Charge conditions must remain for at least this number of periods before being considered true, to help filter out false full conditions due to spikes. EOC trigger cell voltage. When any cell in the battery pack reaches this voltage, the End-Of-Charge determination will start monitoring the average current to determine when the battery is full. When the average current is in the proper range and the cell voltage is greater than EOC_VOLT, then FULLY_CHARGED bit in BatteryStatus will be set and terminate charge alarm will be active. Maximum temperature measured (including external and internal sensor). Coded value = (Celsius * 10 + 200)/4. This is where the PS501 keeps track of the highest temperature it has measured.
ChrgCurrOff
2
0
65535
0
ChrgMaxTemp
1
0
255
235
ChrgMinTemp
1
0
255
50
ChrgVolt ChrgVoltOff ClrFullyChrg
2 2 1
0 0 0
65535 65535 255
16800 16800 90
ClrFullyDischrg
1
0
255
10
EOCCurAvg
2
0
65535
200
EOCRecheck
1
0
255
6
EOCVolt
2
0
65535
4175
MaxTemp
1
0
65535
750
DS21818C-page 28
2004 Microchip Technology Inc.
PS501
TABLE 9-4:
Parameter Name PrechargeCurr PrechargeMax
CHARGE CONTROL (CONTINUED)
# Bytes 2 2 Lower Limit 0 0 Upper Limit 65535 65535 Typical Value 100 500 Operational Description Precharge current required. Posted to SBData ChargingCurrent during precharge conditions. Maximum precharge current allowed. When exceeded under precharge conditions, SBData ChargingCurrent is set to zero. Precharge temperature, Coded value = (Celsius * 10 + 200)/4. This is the temperature under which precharging should occur. Precharge cell voltage. This is the voltage under which precharging should occur. Second EOC trigger based on State-Of-Charge, 100 = 100%. A second End-Of-Charge trigger is built into the PS501, such that if the State-Of-Charge exceeds a certain value, End-Of-Charge will be forced, even if the taper or pulse current was not detected. When State-Of-Charge reaches SOCThreshold, then End-Of-Charge will trigger. EOC trigger current deviation level. In order to prevent current spikes from causing a premature taper current trigger, the average current and the instantaneous current must be within StableCurr of each other for the End-Of-Charge to trigger on the taper current. Upper limit EOC taper current based on temperature, TaperCRate = 64/1C. Example: If 1C = 2200 and TaperCRate = 3, then the upper limit for taper window is 3/64 * 2200 = 103 mA. Lower limit EOC taper current, TaperLow = 64/1C. Example: If 1C = 2200 and TaperLow = 1, then the lower limit for taper window is 1/64 * 2200 = 34 mA. Temperature corresponding to TaperCRate byte, TaperTemp = (temp. C * 10 + 200)/4. Example: TaperTemp = 100 [(100 * 4 - 200)/10 = 20C].
PrechargeTemp PrechargeVCell SOCThreshold
1 2 1
0 0 0
255 65535 255
60 2500 125
StableCurr
1
0
255
50
TaperCRate
6
0
255
3
TaperLow
1
0
255
1
TaperTemp
5
0
255
125
2004 Microchip Technology Inc.
DS21818C-page 29
PS501
TABLE 9-5:
Parameter Name AOMInt ConfigEOC
PS501 SETTINGS
# Lower Upper Bytes Limit Limit 1 1 0 0 255 255 Typical Value Operational Description
ConfigEOD
1
0
255
ConfigCAP
1
0
255
60 The frequency of the auto-offset calibration cycle. b01101001 Bit coded as follows: Function Bit 7 EOC on charge timer 6 EOC on TCAVolt 5 Limit remcap to FCC 4 Set overcharge alarm at EOC 3 Load capacity with FCC at EOC 2 Trigger EOC on RSOC > SOCThreshold 1 Trigger EOC on average current 0 Trigger EOC on taper current b01111000 Bit coded as follows: Function Bit 7 Evaluate EOD1 on fixed voltage (else table) 6 Set fully discharged bit on EOD1 5 Set capacity to residual capacity value immediately upon EOD1 (EOD1Voltage or LUT voltage) 4 Set terminate discharge alarm on EOD1 (EOD1Voltage or LUT voltage) 3 Learn FCC at EOD1 (EOD1Voltage or LUT voltage) 2 TDA alarm at EOD2 (Vempty) 1 Set capacity to zero at EOD2 (Vempty) 0 Do not allow capacity to drop below EOD1Cap Function 11010100 Bit 7 Compensate remcap - the displayed remcap actually equals FCC minus capacity used, minus residual capacity due to temperature. remcap is compensated for temperature. 6 Remcap decrease only - when compensating, if temperature changed causing a decrease in residual capacity, do not let remcap rise to reflect this. Instead, hold it steady until discharge catches up. This is so user does not see capacity increase while discharging (though usable capacity may increase if the temperature changes, user would be confused). 5 Use compensated FCC - use compensated FCC to compute RSOC. Allows compensated RSOC to equal 100% at full charge (delete). 4 Limit RSOC to 99% until EOC. 3 Report compensated FCC - the compensated FCC is reported in SBData to allow for externally calculated RSOC (delete). 2 Set capacity to positive immediately upon charging. If discharged below zero, this allows capacity to count up immediately upon charging. 1 Learn unconditionally - relearn FCC no matter what. Typically we have a max. current and a max. error limitation on relearn. This would take away the limitations. Typically used for testing only. 0 Self-discharge disable.
DS21818C-page 30
2004 Microchip Technology Inc.
PS501
TABLE 9-5:
Parameter Name ConfigLED
PS501 SETTINGS (CONTINUED)
# Lower Upper Bytes Limit Limit 1 0 255 Typical Value Operational Description
FLAGS1
1
0
mWhConv NSample
2 1
0 0
OSCTrim SampleLimit SMBMstrBaud SMBChrgrAddr SMBHostAddr SMBAlrmInterval Config1 SleepVPack WakeUp
1 2 1 1 1 1 1 2 1
0 0 0 0 0 0 0 0 0
b10000010 Bit coded as follows: Bit Function 7 Disable Master mode 6 (free) 5 Enable fast LED time base 4 LED display while charging 3 Display the most significant LED only 2 LED using absolute SOC, else relative SOC 1 Flash LEDs on remaining time or remaining cap alarm 0 Flash LEDs while charging 255 b11101011 Bit coded as follows: Function Bit 7 Enable precharge max current check 6 Hold charge current = 0 until next discharge 5 Int/Ext temperature 4 Disable Sleep in main Idle mode 3 Require null current for Low-Voltage Sleep mode 2 Disable safety GPIO 1 Pack resistance enable 0 Enable Sample mode detect 65535 2000 Constant for conversion from mAh to mWh. 255 10 Frequency of ADC activity in Sample mode. The A/D converter will take measurements every NSample period while in Sample mode. In Run mode, new measurements are taken every period. 255 200 RC oscillator trimming. 65535 15 Value used to determine the current threshold for entry/exit for Sample and Run modes in mA. 127 1 Master broadcast baud rate (512 kHz/4)/(SMBMstrBaud + 1). 255 0x12 Address to broadcast charger messages to. 255 0x10 Address to broadcast host messages to. 255 120 Delay between alarm broadcasts, units 0.5 seconds. 255 100 Bootload configuration. 65535 8800 The pack voltage at which the PS501 will enter Low-Voltage Sleep mode. 255 b00001011 When in the Low-Voltage Sleep mode (entry due to low voltage and Sample mode), there are four methods for waking up. They are voltage level, current level, SMBus activity and I/O pin activity. This value defines which wake-up functions are enabled and also the voltage wake-up level. The table below indicates the appropriate setting. Note that the setting is independent of the number of cells or their configuration. Wake-up: Bit Name 7 WakeIO 6 WakeBus 5 Unused 4 WakeVolt 3 Shelf-Sleep 1 0 LV Sleep Mode Zero Remcap Function Wake-up from I/O activity Wake-up from SMBus activity Wake-up from voltage Use Ultra Low-Power mode for Shelf-Sleep mode Use Ultra Low-Power mode as Low-Voltage Sleep mode Set remcap to zero when entering Low-Voltage Sleep mode
2004 Microchip Technology Inc.
DS21818C-page 31
PS501
TABLE 9-5:
Parameter Name WakeLevels
PS501 SETTINGS (CONTINUED)
# Lower Upper Bytes Limit Limit 1 0 255 Typical Value Operational Description
b11000110 Wake-up Voltage: Voltage WakeUp (2:0) 000 6.4V 001 6.66V 010 8.88V 011 9.6V 100 9.99V 101 11.1V 110 12.8V 111 13.3V
Purpose 2 cells Li Ion 2 cells Li Ion 2 cells Li Ion 3 cells Li Ion 3 cells Li Ion 3 cells Li Ion 4 cells Li Ion 4 cells Li Ion
TABLE 9-6:
Parameter Name HighTempAl
SBData SETTINGS
# Lower Upper Typical Bytes Limit Limit Value 1 0 255 200 Operational Description OVER_TEMP_ALARM threshold bit in AlarmWarning register, 0.1C increments, Coded value = (Celsius * 10 + 200)/4. When the temperature exceeds HighTempAl, the OVER_TEMP_ALARM becomes active. If charging, the TERMINATE_CHARGE_ALARM also becomes active. Frequency of charging condition broadcasts. SBData value for RemCapAl. The SBData specification requires a default of DesignCapacity/10 for this value. When the remaining capacity calculation reaches the value of RemCapAl, the REMAINING_CAPACITY_ALARM bit will be set in the BatteryStatus register and an alarm broadcast to the Host will occur if alarm broadcasts are enabled. SBData value for RemTimeAl. SBData requires a default of 10 minutes for this value. When the RunTimeToEmpty calculation reaches the value of RemTimeAl, the REMAINING_TIME_ALARM bit in the BatteryStatus register will be set. Cell voltage when the battery sends TERMINATE_CHARGE_ALARM. This is a voltage higher than the End-Of-Charge voltage that will trigger a TERMINATE_CHARGE_ALARM in case EOC is not responded to by the charger.
NChrgBroadcast RemCapAl
1 2
0 0
255 65535
20 440
RemTimeAl
2
0
65535
10
TCAVolt
2
0
65535
4400
DS21818C-page 32
2004 Microchip Technology Inc.
PS501
TABLE 9-7:
Parameter Name CalStatus
CALIBRATION
# Lower Upper Bytes Limit Limit 1 0 255 Typical Value Operational Description
b10000000 Bit coded as follows: Function Bit 7 Factory calibrated 6 EE/Flash downloaded 5 RC oscillator 4 External temperature 3 Internal temperature 2 Current 1 Pack voltage 0 Cell voltages 0 = Not Calibrated 1 = Calibrated 6844 Correction Factor for Current. Adjusts the scaling of the sense resistor current measurements. Used to calibrate the measurement of current at the RSHP and RSHN input pins. This is set for the size of the current sense resistor. Correction Factor for Temperature. Adjusts the scaling of temperature measured across an external thermistor at the VNTC input pin. Correction Factor for Temperature. Adjusts the scaling of temperature measured from the internal temperature sensor. Calibration: New CF_TEMP = Old CF_TEMP x (Thermometer[C]/SBData Temperature[C] ) Note: SBData Temperature is reported in 0.1K normally. It must be converted to C for this equation.
CFCurr
2
0
65535
CFTempE
2
0
65535
1300
CFTempI
2
0
65535
9102
CFVCell1
2
0
65535
22325
Calibration Correction Factor for VCELL1. Used to calibrate the measurement of individual cell voltage between the VCELL1-4 input pins. Calibration Correction Factor for VCELL2. Used to calibrate the measurement of individual cell voltage between the VCELL1-4 input pins. Calibration Correction Factor for VCELL3. Used to calibrate the measurement of individual cell voltage between the VCELL1-4 input pins. Calibration Correction Factor for VCELL4. Used to calibrate the measurement of individual cell voltage between the VCELL1-4 input pins. Correction Factor for Pack Voltage. Adjusts the scaling of the pack voltage measurements. Used to calibrate the measurement of pack voltage between VCELL4 input pin and ground. Correction Offset for Current. This is the value the A/D reads when zero current is flowing through the sense resistor. Correction Offset Deviation. Offset value for the auto-zero calibration of the current readings. SBData Current[mA] = (I_A/D - COCurr) x CFCurr/16384 Calibration: CF_CURR = ((Ammeter[mA] x 16384) - 8192)/(Current - I_A/D at OCV)
CFVCell2
2
0
65535
22393
CFVCell3
2
0
65535
22420
CFVCell4
2
0
65535
22470
CFVPack
2
0
65535
20045
COCurr
2
-32768 32767
-12
COD
1
-128
127
-12
2004 Microchip Technology Inc.
DS21818C-page 33
PS501
TABLE 9-7:
Parameter Name COTempE COTempI COVCell
CALIBRATION (CONTINUED)
# Lower Upper Bytes Limit Limit 1 2 1 -128 127 Typical Value -2 21647 0 Operational Description Correction Offset for Temperature. Offset = 0 used for temperature measurement using internal temperature sensor. Correction Offset for Temperature. Offset = 0 used for temperature measurement using internal temperature sensor. Correction Offset for Cell Voltage. Offset factor used for individual cell voltage readings. SBData Voltage[mV] = (V_A/D - CO_VOLT) x CF_VOLT/2048 Calibration: New CF_VOLT = Old CF_VOLT x (Voltmeter[mV]/SBData Voltage[mV]) Correction Offset for Voltage. Offset factor used for pack voltage reading. Band gap voltage calibration factor. Reference voltage calibration factor. Safe threshold for VCELLs. # of OPCs current < SampleLimit before entering Sample mode. Scale factor for EOD voltage due to aging. Maximum change in remaining capacity per measurement period.
-32768 32767 -128 127
COVPack BGCal RefCal VCellSafeVolt SampleModeRechecks AgeFactor RemCapDelta Flags2
1 1 1 2 1 1 1 1
-128 0 0 0 0 0 0 0
127 255 255 65535 255 255 255 255
0 0 0 4150 6 0 1
10000000 Bit 7: 1 = compensate remcap only on discharge Bit 6: internal test bit (CJ) Bit 5: internal test bit (CL) Bit 4: compensate remcap on null current Bit 3: unused Bit 2: 1 = cell balancing enabled Bit 1: 1 = compensate VC4/VPACK Bit 0: 1 = compensate VC1/VPACK 100 80 4 0 0 0 0 0 0 0 0 0xDA 8 60 0 20 Voltage difference to trigger internal cell balancing. Voltage difference to turn off cell balancing. Time during which GPIO are inactive after first power-up. Series resistance for VCELL1 measurement. 1/16384 ohms. Series resistance for VCELL4 measurement. 1/16384 ohms. Counter for logging Faults. Register for logging Faults. Register for resetting all GPIO during testing. Positive logic change of GPIO is delayed when upper byte is set. Lower byte maps to GPIO. GPIO delay in milliseconds, when GPIODelayFlags has the delay enabled. EEPROM version control number. EE keybyte must be 0xDA before P5 will exit Bootloader mode. Recheck period for EOD. EOC time-out timer. Value to set MaxError to at EOD. RSOC below which cell balance is measured.
VcellmbSet VcellmbReset PwrUpTimer VC1Res VC4Res NPermLogCnt NPermLogReg ReInitGPIO GPIODelayFlags GPIODelayMS ParamVersion KeyByte EOD1Recheck EOCTimeout CapErrReset ImbalanceSOC
1 1 1 2 2 1 1 2 2 1 1 1 1 2 2 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
255 255 255 65535 65535 255 255 65535 65535 255 255 255 255 65535 65535 255
DS21818C-page 34
2004 Microchip Technology Inc.
PS501
10.0 ELECTRICAL CHARACTERISTICS
ABSOLUTE MAXIMUM RATINGS
Parameter Voltage at any VC(x) pin Voltage directly at any pin (except VCELLx) Temperature under Bias Storage Temperature (package dependent) Min -0.3 -0.5 -20 -35 Max 18.5 7.0 85 125 Units V V C C
TABLE 10-1:
Symbol VCX VPIN TBIAS TSTORAGE Note:
These are stress ratings only. Stress greater than the listed ratings may cause permanent damage to the device. Exposure to absolute maximum ratings for an extended period may affect device reliability. Functional operation is implied only at the listed operating conditions below.
TABLE 10-2:
Symbol VSUPPLY IDD IDDRUN IDDINS IDDSSLP IDDSLP IWAKE VIL VIH IIL-IOPU IIH-IOPD IL VOL VOH-IO VOH-LED VSR VNTC VREFT VIL-SMB VIH-SMB VOL-SMB VOH-SMB
DC CHARACTERISTICS (TA = -20C TO +85C; VREG (INTERNAL) = +3.3V 10%)
Characteristic Min 5.6 -- -- -- -- -- 2.50 -- 0.8 * VDDD -37.5 -37.5 -- -- 2.0 2.0 -152 0 -- -0.5 2.0 -- 2.1 100 -- Typ -- 220 175 150 25 0.8 3.75 -- -- -110 -110 1 -- -- -- -- -- 150 -- -- -- -- -- -- Max 18.0 -- -- -- -- 1 5.00 0.2 * VDDD -- -140 -140 2 0.6 -- -- 152 152 -- 0.8 5.5 0.4 5.5 350 5 Units V A A A A A mV V V A A A V V V mV mV mV V V V V A A IPULLUP = 350 A IOL = 0.5 mA IOH = 100 A IOH = 10 mA (Note 3) (Note 1) A/D active (Note 1) A/D inactive (Note 1, 2) A/D inactive (Note 1, 2) Sleep mode (Note 1, 4) Condition
Supply Voltage - Applied to VC(1) Instantaneous Supply Current Average Supply Current - Run Mode Inactive Supply Current - Sample Mode Inactive Supply Current - Low-Power Mode Average Supply Current - Ultra Low-Power Mode Wake-up Current Threshold from Sleep Mode - (voltage across sense resistor) Input Low Voltage - GPIO(7-0) Input High Voltage - GPIO(7-0) GPIO Input Low Current - Pull-up Mode GPIO Input High Current - Pull-down Mode Leakage Current - GPIO pins Programmed as Outputs Output Low Voltage for GPIO(7-0) Output High Voltage for GPIO(7-0) (non-LED mode) Output High Voltage for GPIO(7-0) (LED mode) Sense Resistor Input Voltage Range Thermistor Input Voltage Range NTC Reference Voltage Output at VREFT pin Input Low Voltage for SMBus pins Input High Voltage for SMBus pins Output Low Voltage for SMBus pins Output High Voltage for SMBus pins
IPULLUP-SMB Current through Pull-up Resistor or Current Source for SMBus pins ILEAK-SMB Note 1: 2: Input Leakage Current - SMBus pins
3: 4:
Does not include current consumption due to external loading on pins. Valid for a maximum voltage of 16.8 volts for the referenced current specification. Sample mode current is specified during an A/D inactive cycle. Sample mode average current can be calculated using the formula: Average Sample Mode Supply Current = (IDDRUN + (n - 1) * IDDINS)/n; where `n' is the programmed sample rate. During LED illumination, currents may peak at 10 mA but average individual LED current is typically 5 mA (using low-current, high-brightness devices). Measured at 25C.
2004 Microchip Technology Inc.
DS21818C-page 35
PS501
TABLE 10-3:
Symbol fRC fAD tCONV
AC CHARACTERISTICS (TA = -20C TO +85C; VREG (INTERNAL) = +3.3V 10%)
Characteristic Min -- -- -- Typ 512.000 fRC/16 2n/fAD Max -- -- -- Units kHz kHz ms Condition
Internal RC Oscillator Frequency Internal A/D Clock Frequency A/D Conversion Measurement Time, n-bit + sign
TABLE 10-4:
Symbol fSMB fSMB-MAS tBUF tSHLD tSU:STA tSU:STOP tHLD tSETUP tTIMEOUT tLOW tHIGH tLOW:SEXT tLOW:MEXT tF tR Note 1:
AC CHARACTERISTICS - SMBus (TA = -20C TO +85C; VREG (INTERNAL) = +3.3V 10%)
Characteristic SMBus Clock Operating Frequency SMBus Clock Operating Frequency Bus Free Time between START and STOP Bus Hold Time after Repeated START Setup Time before Repeated START STOP Setup Time Data Hold Time Data Setup Time Clock Low Time-out Period Clock Low Period Clock High Period Message Buffering Time Message Buffering Time Clock/Data Fall Time Clock/Data Rise Time Min <1.0 50 4.7 4.0 4.7 4.0 300 250 10 4.7 4.0 -- -- -- -- Typ -- fRC/8 -- -- -- -- -- -- -- -- -- -- -- -- -- Max 100 68 -- -- -- -- -- -- 35 -- 50 10 10 300 1000 Units kHz kHz s s s s s s ms s s ms ms ns ns (Note 3) (Note 4) (Note 5) (Note 6) (Note 6) (Note 2) Condition Slave mode Master mode (Note 1)
2:
3: 4: 5: 6:
Used when broadcasting AlarmWarning, ChargingCurrent and/or ChargingVoltage values to either a SMBus Host or a SMBus Smart Battery Charger. This is only used when the PS501 becomes a SMBus master for these functions. The receiving (slave) device may slow the transfer frequency. See SMBus Tutorial in P4 User's Guide for additional information. The PS501 will time-out when the cumulative message time defined from Start-to-Ack, Ack-to-Ack or Ack-to-Stop exceeds the value of tTIMEOUT, min. of 25 ms. The PS501 will reset the communication no later than tTIMEOUT, max. of 35 ms. tHIGH max. provides a simple method for devices to detect bus idle conditions. tLOW:SEXT is the cumulative time a slave device is allowed to extend the clock cycles in one message from the initial start to the stop. tLOW:MEXT is the cumulative time a master device is allowed to extend its clock cycles within each byte of a message as defined from Start-to-Ack, Ack-to-Ack or Ack-to-Stop. Rise and fall time is defined as follows: tR = (VILMAX -0.15) to (VIHMIN +0.15) tF = 0.9 VDD to (VILMAX -0.15)
DS21818C-page 36
2004 Microchip Technology Inc.
PS501
TABLE 10-5:
Symbol ADRES VADIN EVGAIN EVOFFSET ETEMP EINL Note 1:
A/D CONVERTER CHARACTERISTICS (TA = -20C TO +85C; VREG (INTERNAL) = +3.3V 10%)
Characteristic Min 9 170 0 -- -- -- -- Typ -- -- -- -- -- -- -- Max 16 170 340 0.100 0.100 0.100 0.004 Units bits mV mV % % % % Condition (Note 1) Differential mode Single-Ended mode
A/D Converter Resolution A/D Converter Input Voltage Range (internal) Supply Voltage Gain Error Compensated Offset Error Temperature Gain Error Integrated Nonlinearity Error
Voltage is internal at A/D converter inputs. VSR and VNTC are measured directly. VC(x) inputs are measured using internal level translation circuitry that scales the input voltage range appropriately for the converter.
FIGURE 10-1:
SMBus AC TIMING DIAGRAMS
tR tLOW tF tHIGH tSU:STA
SCL tHD:STA tHD:STA tSU:DAT tSU:STA tSU:STO
SDA tBUF P S S P
tLOW:SEXT SCLACK SCLACK tLOW :MEXT tLOW:MEXT tLOW:MEXT
SCL
SDA
Note: SCLACK is the Acknowledge related clock pulse generated by the master.
TABLE 10-6:
Symbol ETIME
SILICON TIME BASE CHARACTERISTICS (TA = -20C TO +85C; VREG (INTERNAL) = +5.0V 10%)
Characteristic Min -- Typ -- Max 0.35 Units % Condition Bias resistor ROSC tolerance = 1%, TL = 100 PPM
Silicon Time Base Error
2004 Microchip Technology Inc.
DS21818C-page 37
PS501
11.0
11.1
PACKAGING INFORMATION
Package Marking Information
28-Lead SSOP XXXXXXXXXXXX XXXXXXXXXXXX YYWWNNN
Example PICXXFXXXX -I/SS 0410017
Legend: XX...X Y YY WW NNN
Customer specific information* Year code (last digit of calendar year) Year code (last 2 digits of calendar year) Week code (week of January 1 is week `01') Alphanumeric traceability code
Note:
In the event the full Microchip part number cannot be marked on one line, it will be carried over to the next line thus limiting the number of available characters for customer specific information.
*
Standard PICmicro device marking consists of Microchip part number, year code, week code, and traceability code. For PICmicro device marking beyond this, certain price adders apply. Please check with your Microchip Sales Office. For QTP devices, any special marking adders are included in QTP price.
DS21818C-page 38
2004 Microchip Technology Inc.
PS501
11.2 Package Details
The following sections give the technical details of the packages.
28-Lead Plastic Shrink Small Outline (SS) - 209 mil Body, 5.30 mm (SSOP)
E E1 p
D
B n 2 1
A c
A2 f L A1
Number of Pins Pitch Overall Height A .079 Molded Package Thickness A2 .065 .073 Standoff A1 .002 Overall Width E .295 .323 Molded Package Width E1 .009 .220 Overall Length D .390 .413 Foot Length L .022 .037 c Lead Thickness .004 .010 f Foot Angle 0 8 Lead Width B .009 .015 *Controlling Parameter Notes: Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed .010" (0.254mm) per side. JEDEC Equivalent: MO-150
Drawing No. C04-073
Units Dimension Limits n p
MIN
INCHES NOM 28 .026 .069 .307 .209 .402 .030 4 -
MAX
MIN
MILLIMETERS* NOM 28 0.65 1.65 1.75 0.05 7.49 7.80 5.00 5.30 9.90 10.20 0.55 0.75 0.09 0 4 0.22 -
MAX
2.0 1.85 8.20 5.60 10.50 0.95 0.25 8 0.38
2004 Microchip Technology Inc.
DS21818C-page 39
PS501
NOTES:
DS21818C-page 40
2004 Microchip Technology Inc.
PS501
Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip's products as critical components in life support systems is not authorized except with express written approval by Microchip. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.
Trademarks The Microchip name and logo, the Microchip logo, Accuron, KEELOQ, PIC, PICmicro, PowerSmart and SmartShunt are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SmartSensor is a registered trademark of Microchip Technology Incorporated in the U.S.A. PowerCal, PowerInfo, PowerMate, PowerTool and SmartTel are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. All other trademarks mentioned herein are property of their respective companies. (c) 2004, Microchip Technology Incorporated. Printed in the U.S.A., All Rights Reserved.
Printed on recycled paper.
2004 Microchip Technology Inc.
DS21818C-page 41
WORLDWIDE SALES AND SERVICE
AMERICAS
Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http://support.microchip.com Web Address: www.microchip.com Atlanta Alpharetta, GA Tel: 770-640-0034 Fax: 770-640-0307 Boston Westford, MA Tel: 978-692-3848 Fax: 978-692-3821 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Farmington Hills, MI Tel: 248-538-2250 Fax: 248-538-2260 Kokomo Kokomo, IN Tel: 765-864-8360 Fax: 765-864-8387 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 San Jose Mountain View, CA Tel: 650-215-1444 Fax: 650-961-0286 Toronto Mississauga, Ontario, Canada Tel: 905-673-0699 Fax: 905-673-6509
ASIA/PACIFIC
Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 China - Beijing Tel: 86-10-8528-2100 Fax: 86-10-8528-2104 China - Chengdu Tel: 86-28-8676-6200 Fax: 86-28-8676-6599 China - Fuzhou Tel: 86-591-8750-3506 Fax: 86-591-8750-3521 China - Hong Kong SAR Tel: 852-2401-1200 Fax: 852-2401-3431 China - Shanghai Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 China - Shenyang Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 China - Shenzhen Tel: 86-755-8203-2660 Fax: 86-755-8203-1760 China - Shunde Tel: 86-757-2839-5507 Fax: 86-757-2839-5571 China - Qingdao Tel: 86-532-502-7355 Fax: 86-532-502-7205
ASIA/PACIFIC
India - Bangalore Tel: 91-80-2229-0061 Fax: 91-80-2229-0062 India - New Delhi Tel: 91-11-5160-8631 Fax: 91-11-5160-8632 Japan - Kanagawa Tel: 81-45-471- 6166 Fax: 81-45-471-6122 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 Taiwan - Kaohsiung Tel: 886-7-536-4818 Fax: 886-7-536-4803 Taiwan - Taipei Tel: 886-2-2500-6610 Fax: 886-2-2508-0102 Taiwan - Hsinchu Tel: 886-3-572-9526 Fax: 886-3-572-6459
EUROPE
Austria - Weis Tel: 43-7242-2244-399 Fax: 43-7242-2244-393 Denmark - Ballerup Tel: 45-4450-2828 Fax: 45-4485-2829 France - Massy Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Germany - Ismaning Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 England - Berkshire Tel: 44-118-921-5869 Fax: 44-118-921-5820
10/20/04
DS21818C-page 42
2004 Microchip Technology Inc.


▲Up To Search▲   

 
Price & Availability of PS501

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X